RabbitMQ es un software de intermediación de mensajes de código abierto que implementa el Protocolo avanzado de cola de mensajes (AMQP), el estándar emergente para la mensajería empresarial de alto rendimiento. Es una de las soluciones de intermediación de mensajes más populares del mercado, que se ofrece con una licencia de código abierto (Mozilla Public License v1.1) como una implementación de AMQP desarrollada con el lenguaje Erlang, que en realidad es relativamente fácil de usar y comenzar. . El servidor RabbitMQ es una implementación robusta y escalable de un agente AMQP. AMQP es un estándar de código abierto ampliamente aceptado para distribuir y transferir mensajes desde un origen a un destino. Como protocolo y estándar, establece un terreno común para que varias aplicaciones y middleware de agentes de mensajes interactúen sin encontrar problemas causados por decisiones de diseño establecidas individualmente.
Conceptos del servidor RabbitMQ:
Los siguientes son algunos conceptos importantes que debemos definir antes de comenzar la configuración de la instalación de RabbitMQ. El host virtual predeterminado, el usuario predeterminado y los permisos predeterminados se usan en los ejemplos que siguen, pero aún así es bueno tener una idea de lo que es.
Productor: Aplicación que envía los mensajes.
Consumidor: Aplicación que recibe los mensajes.
Cola: Búfer que almacena mensajes.
Mensaje: Información que se envía del productor a un consumidor a través de RabbitMQ.
Canal: Un canal es una conexión virtual dentro de una conexión. Cuando publica o consume mensajes o se suscribe a una cola, todo se hace a través de un canal.
Intercambio: Recibe mensajes de los productores y los envía a las colas según las reglas definidas por el tipo de intercambio. Para recibir mensajes, una cola debe estar vinculada al menos a un intercambio.
Enlace: Un enlace es un enlace entre una cola y un intercambio.
Clave de enrutamiento: La clave de enrutamiento es una clave que el intercambio analiza para decidir cómo enrutar el mensaje a las colas. La clave de enrutamiento es como una dirección para el mensaje.
host virtual: Un host virtual proporciona una forma de segregar aplicaciones utilizando la misma instancia de RabbitMQ. Diferentes usuarios pueden tener diferentes privilegios de acceso a diferentes servidores virtuales y se pueden crear colas e intercambios para que solo existan en un servidor virtual.
Requisitos previos:
Nuestro primer paso es asegurarnos de que todos los paquetes del sistema estén actualizados ejecutando los siguientes comandos apt-get en la terminal de línea de comandos.
# apt-get update
# apt-get upgrade
Después de la actualización del sistema, necesitamos obtener las principales dependencias de RabbitMQ, como Erlang. Usemos el siguiente comando para obtener Erlang en nuestro servidor Ubuntu 16.04.
# apt-get install -y erlang
Instalación del servidor RabbixMQ en Ubuntu 16.04
Instalar el paquete rabbitmq-server en Ubuntu 16.04 es simple. Simplemente ejecute el siguiente comando y escriba la tecla 'Y' para continuar con la instalación del paquete del servidor RabbixMQ junto con sus dependencias requeridas.
# apt-get install rabbitmq-server
Inicio de los servicios RabbixMQ:
El servidor RabbitMQ se instaló en Ubuntu 16.04, ahora ejecute los siguientes comandos para iniciar y verificar el estado del servidor RabbitMQ y permitir que sus servicios se inicien automáticamente después de cada reinicio.
# systemctl enable rabbitmq-server
# systemctl start rabbitmq-server
# systemctl status rabbitmq-server
Habilitación de la consola de administración de RabbitMQ
El servidor RabbitMQ está en funcionamiento, ahora le mostraremos cómo puede configurar su consola de administración web utilizando el complemento de administración de rabbitmq. El complemento de administración de Rabbitmq le permite administrar y monitorear su servidor RabbitMQ de varias maneras, como enumerar y eliminar intercambios, colas, enlaces y muchos más.
Ejecutemos el siguiente comando para instalar este complemento en su servidor Ubuntu 16.04.
# rabbitmq-plugins enable rabbitmq_management
El complemento rabbitmq_management es una combinación de los siguientes complementos que se habilitarán después de ejecutar el comando anterior.
- mochiweb
- máquina web
- conejomq_web_dispatch
- amqp_cliente
- rabbitmq_management_agent
- gestión_conejo_mq
Ahora podemos acceder a la consola de administración de RabbitMQ desde nuestro navegador web, disponible en el puerto HTTP 15672 por defecto. También puede crear un nuevo usuario administrador usando los siguientes comandos.
# rabbitmqctl add_user radmin radmin
# rabbitmqctl set_user_tags radmin administrator
# rabbitmqctl set_permissions -p / radmin ".*" ".*" ".*"
Ahora abra la siguiente URL junto con el puerto predeterminado e inicie sesión con su nuevo usuario y contraseña. También puede usar el nombre de usuario predeterminado de 'invitado' y la contraseña de 'invitado' para iniciar sesión.
http://your_servers_ip:15672/
Con la consola web RabbitMQ:
Bienvenido a la consola de administración web de RabbitMQ, después de proporcionar los datos de inicio de sesión de usuario correctos, puede administrar su servidor RabbitMQ desde su web.
Conclusión:
La ejecución de rabbitmq-server en primer plano muestra un mensaje de banner e informa sobre el progreso en la secuencia de inicio, y concluye con el mensaje "agente en ejecución", que indica que el agente RabbitMQ se ha iniciado correctamente. RabbitMQ es una pila de aplicaciones completa (es decir, un intermediario de mensajes) que le brinda todas las herramientas con las que necesita trabajar, en lugar de actuar como un marco para que implemente las suyas propias. Espero que encuentres este artículo muy útil e interesante. No olvides compartirlo con tus amigos.