RabbitMQ es el software de cola de mensajes o intermediario de mensajes gratuito y de código abierto más popular. RabbitMQ implementó originalmente el Protocolo avanzado de cola de mensajes (AMQP). También es compatible con protocolos como STOMP (Protocolo de transmisión de mensajes orientados a texto) y MQTT (Transporte de telemetría de cola de mensajes).
En general, el software de intermediación de mensajes se utiliza para enviar y recibir mensajes entre varios tipos de servicios, sistemas o aplicaciones distribuidos.
RabbitMQ, que ha sido escrito en el lenguaje de programación Erlang, tiene las siguientes características:
- Compatibilidad con varios protocolos:AMQP, MQTT, STOMP, HTTP
- Compatibilidad con interfaces de cliente y bibliotecas para los principales lenguajes de programación
- Clustering / Alta disponibilidad
- Un conjunto diverso de herramientas y complementos
- Enrutamiento de mensajes entre intercambios y colas
- Interfaz web fácil de usar para monitorear y controlar el intermediario de mensajes
- Capacidades de rastreo
En este tutorial, le mostraremos cómo configurar RabbitMQ en Ubuntu 18.04 (Bionic Beaver).
Instalación de RabbitMQ en Ubuntu
Primero, actualicemos los repositorios de ubuntu:
sudo apt-get update
Agregue la clave de firma usando cualquiera de los siguientes comandos:
wget -O - "https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc" | sudo apt-key add -
o
sudo apt-key adv --keyserver "hkps.pool.sks-keyservers.net" --recv-keys "0x6B73A36E6026DFCA"
Crear archivo de repositorio Rabbitmq.
vim /etc/apt/sources.list.d/bintray.rabbitmq.list
Agregue los siguientes repositorios al archivo.
deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang deb https://dl.bintray.com/rabbitmq/debian bionic main
Guarde y cierre el archivo.
Ejecute la actualización del repositorio.
sudo apt-get update
Instale el servidor RabbitMQ.
sudo apt-get install rabbitmq-server
Compruebe el estado del servidor RabbitMQ.
sudo systemctl status rabbitmq-server.service
Si RabbitMQ no se está ejecutando, inicie el servicio con este comando:
sudo systemctl start rabbitmq-server.service
Habilite el servicio RabbitMQ en el arranque del sistema.
sudo systemctl enable rabbitmq-server
Puertos RabbitMQ
4369:epmd, un servicio de detección de pares utilizado por nodos RabbitMQ y herramientas CLI
5672, 5671:utilizado por clientes AMQP 0-9-1 y 1.0 sin y con TLS
25672:utilizado para entre-nodos y Comunicación de herramientas CLI
35672-35682:utilizado por las herramientas CLI (puertos de cliente de distribución de Erlang) para la comunicación con los nodos y se asigna desde un rango dinámico
15672:clientes API HTTP, interfaz de usuario de administración y rabbitmqadmin (solo si el el complemento de administración está habilitado)
61613, 61614:Clientes STOMP sin y con TLS (solo si el complemento STOMP está habilitado)
1883, 8883:(Clientes MQTT sin y con TLS, si el complemento MQTT está habilitado
15674:Clientes STOMP-over-WebSockets (solo si el complemento Web STOMP está habilitado)
15675:Clientes MQTT-over-WebSockets (solo si el complemento Web MQTT está habilitado)
Permitir la interfaz de usuario de administración de RabbitMQ a través del cortafuegos
La consola de administración de RabbitMQ se ejecuta en el puerto 15672 y se le debe otorgar permiso a través del firewall.
sudo ufw allow 15672
Después de una instalación exitosa, podemos acceder a la consola de administración web y se ejecuta en el puerto "15672".
Pero de forma predeterminada, el complemento 'Consola de administración de instalación' no está habilitado. Este complemento es necesario para monitorear y administrar el servidor RabbitMQ. También se utiliza para supervisar colas, tasas de mensajes y gestionar colas, enlaces y usuarios, etc.
Veamos cómo podemos habilitar el complemento 'Consola de administración de instalación'. Pero antes de hacerlo, echemos un vistazo a todos los complementos de RabbitMQ que están disponibles.
sudo rabbitmq-plugins list
Ahora habilite el complemento de administración de RabbitMQ
sudo rabbitmq-plugins enable rabbitmq_management
Podemos acceder a la Consola de administración utilizando el usuario invitado predeterminado. Pero necesitamos crear y agregar un nuevo usuario administrador para acceder a la consola de administración.
Aquí creamos un usuario con nombre de usuario 'admin' y la contraseña también es 'admin'. Pero recomendaría usar una contraseña segura por seguridad.
sudo rabbitmqctl add_user admin admin
Ahora etiquetamos a nuestro usuario 'admin', que creamos en los pasos anteriores, como 'administrador'
sudo rabbitmqctl set_user_tags admin administrator
Ahora estamos listos para reiniciar el servicio RabbitMQ
sudo systemctl restart rabbitmq-server.service
Antes de acceder a la interfaz de usuario de administración, verifiquemos los puertos en el servidor
sudo netstat -tunlp
Acceso a la IU de administración
Se puede acceder a la Consola de administración mediante cualquiera de estas URL:
- http://ServerIp o
- nombre de host:15672/
Por ejemplo:– http://13.236.85.236:15672 / o http://rabbitmq.fosslinux.com:15672
Podrá ver la ventana de inicio de sesión de la consola.
Luego use el nombre de usuario y la contraseña de administrador ya creados para acceder al tablero.
Ha instalado y configurado correctamente el servidor RabbitMQ.
Si tiene algún problema o pregunta, no dude en preguntar en la sección de comentarios a continuación.