Ejemplos de descarga, configuración e implementación de Java de RabbitMQ de productores y consumidores en Windows

RabbitMQ es un middleware de intermediario de mensajes ligero que admite múltiples protocolos de comunicación de mensajes, admite la implementación distribuida, admite la ejecución en múltiples sistemas operativos y tiene características como flexibilidad y alta disponibilidad. RabbitMQ admite una variedad de protocolos, el más importante de los cuales es el Protocolo de cola de mensajes avanzado (AMQP), que define el protocolo de comunicación entre el "cliente de mensajes" y el "middleware de intermediario de mensajes". Según este protocolo, el cliente de mensajes y el intermediario de intermediarios de mensajes pueden estar libre de las limitaciones de los lenguajes de desarrollo y productos específicos.

El modelo aproximado de AMQP se muestra en la siguiente figura:

  

El productor pasa el mensaje al "intermediario de mensajes (servidor RabbitMQ)", se establece un canal de mensajes (Canal) entre ellos, y el intercambio (Exchange) procesa el mensaje primero y luego se entrega a una cola de mensajes (Cola de mensajes ), y finalmente el mensaje La cola envía el mensaje a la persona que envía el mensaje.

1. Descarga RabbitMQ y Erlang

La versión más alta del servidor RabbitMQ en Windows es 3.8.1, enlace de descarga: https://www.rabbitmq.com/install-windows.html

El servidor RabbitMQ usa lenguaje Erlang, por lo que también necesita descargar Erlang, la versión más alta actual es 22.1,
dirección de descarga: http://erlang.org/download/, haga clic en el nombre del archivo otp_win64_22.1.exe dentro para descargar.

Dos, colocación

1. RabbitMQ se iniciará como un servicio de Windows después de la instalación.

2. Abrir gestión de complementos

cmd en el directorio sbin del directorio de instalación, ingrese el siguiente comando para instalar:
rabbitmq-plugins enable rabbitmq_management

Ingrese el siguiente comando para ver el estado del complemento:
lista de complementos de rabbitmq

3. Inicie sesión en la interfaz de administración web.

Paso 2 Después de abrir el complemento, se puede acceder a esta dirección: http: // localhost: 15672 /
Ingrese el nombre de usuario y la contraseña predeterminados (ambos son invitados) para iniciar sesión, la interfaz después del inicio de sesión es la siguiente

Nota: Se utiliza otro puerto 5672 de RabbitMQ para la comunicación con el cliente.

Tres , implementación de Java de ejemplos de productores y consumidores

Para el servidor, tanto el productor como el consumidor de mensajes pertenecen al cliente y se comunican con el servidor a través del protocolo AMQP. AMQP no está limitado por el idioma y el cliente se puede implementar en diferentes lenguajes de programación. El cliente está escrito en Java a continuación.

Cree un nuevo proyecto de Maven y agregue dependencias a pom.xml:

        <dependency>
            <groupId>com.rabbitmq</groupId>
            <artifactId>amqp-client</artifactId>
            <version>5.7.3</version>
        </dependency>

1. Escribe al productor

Cree un nuevo productor de mensajes y envíe un mensaje al servidor.

package com.example.rabbittest;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Send {
    public static void main(String[] args) throws IOException, TimeoutException {
        //创建连接
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        Connection connection = factory.newConnection();
        //建立通道
        Channel channel = connection.createChannel();
        //声明队列
        String queueName = "hello";
        channel.queueDeclare(queueName,false,false,false,null);
        String message = "hello world";
        //消息发布
        channel.basicPublish("", queueName, null, message.getBytes());
        //关闭通道和连接
        channel.close();
        connection.close();
    }
}

El código anterior no declara un conmutador y se utilizará el conmutador predeterminado.

Después de ejecutar el código, inicie sesión en http: // localhost: 15672 /, haga clic en la pestaña Colas y podrá ver que se crea la cola de saludo.

2. Escriba a los consumidores

Cree un nuevo consumidor de mensajes (en el mismo proyecto que el productor) y acepte los mensajes del servidor.

package com.example.rabbittest;

import com.rabbitmq.client.*;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Receive {
    public static void main(String[] args) throws IOException, TimeoutException {
        //创建连接
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        Connection connection = factory.newConnection();
        //建立通道
        Channel channel = connection.createChannel();
        //声明队列
        String queueName = "hello";
        channel.queueDeclare(queueName,false,false,false,null);
        String message = "hello world";
        //消息发布
        Consumer consumer = new DefaultConsumer(channel){
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                String message = new String(body, "UTF-8");
                System.out.println("接收的消息:" + message);
            }
        };
        channel.basicConsume(queueName, true, consumer);
    }
}

Después de ejecutar el código, abra la consola RabbitMQ, haga clic en la cola de saludo y podrá ver que hay consumidores correspondientes.

 

Supongo que te gusta

Origin blog.csdn.net/gdjlc/article/details/115008489
Recomendado
Clasificación