GNU/Linux >> Tutoriales Linux >  >> Linux

Instalación y administración de Rabbitmq

Introducción

Cualquier administrador de sistemas experimentado sabe que a veces es muy útil e incluso necesario dejar las tareas para más adelante, especialmente si la tarea lleva mucho tiempo y consume muchos recursos. Para hacer esto, necesita un intermediario de mensajes:un programa que recibe mensajes (tareas) de varios remitentes (aplicaciones web), forma una cola a partir de ellos y luego los distribuye entre los procesos de trabajo.

Este artículo se centrará en el proyecto RabbitMQ:un conjunto de aplicaciones abiertas para implementar las funciones de un intermediario de mensajes que implementa el Protocolo avanzado de cola de mensajes (AMQP).

Mensajes, intermediarios de mensajes y secuencia

La mensajería es una forma de intercambiar ciertos datos entre procesos, aplicaciones, servidores virtuales y físicos. Estos mensajes, que realizan algunas funciones computacionales, pueden contener casi cualquier cosa, desde texto sin formato hasta grandes bloques de datos binarios. Para la correcta ejecución de este proceso, se necesita un programa de terceros:este es el intermediario de mensajes.

Un intermediario de mensajes suele ser un grupo de aplicaciones, cada uno de los cuales está diseñado para procesar una determinada etapa de la mensajería:recibir un mensaje, definirlo en la cola y transferir el mensaje al proceso de trabajo responsable de su ejecución. A menudo, en lugar de soluciones completas, se utilizan programas que originalmente no estaban destinados a este trabajo (bases de datos, cron daemon, etc.); simplemente crean una cola de mensajes (que técnicamente representa búferes infinitos) y luego los pasan para su procesamiento automático o para sondeo.

¿Por qué necesita un intermediario de mensajes?

Los corredores de mensajes actúan como intermediarios entre varios servicios (aplicaciones web). Reducen significativamente la carga y acortan el tiempo de entrega de los mensajes, ya que las tareas que tardan en procesarse se distribuyen entre flujos de trabajo diseñados exclusivamente para realizar estas tareas. Proporcionan un canal confiable para transmitir mensajes de una aplicación a otra.

¿Cuándo necesita un intermediario de mensajes?

En general, la funcionalidad básica de los intermediarios de mensajes cubre muchas áreas, incluidas, entre otras, las siguientes:

  • Reducir el tiempo de respuesta de los servidores web a las solicitudes (porque no tienen que realizar tareas que consumen muchos recursos).
  • Distribución del mensaje a varios destinatarios (por ejemplo, para su procesamiento).
  • Los usuarios sin conexión pueden recuperar todos los datos más tarde.
  • Modo de operación completamente asincrónico con sistemas de servidor.
  • Ordenamiento y priorización de tareas;
  • Equilibrio de carga entre procesos de trabajo.
  • Mejorar la confiabilidad y el tiempo de actividad de la aplicación.

Y mucho más.

Una breve reseña de RabbitMQ

RabbitMQ (lanzado en 2007) es uno de los intermediarios de mensajes de código abierto más populares con licencia de Mozilla Public License v1.1 como una implementación del Protocolo avanzado de colas de mensajes. Diseñado en Erlang, RabbitMQ es bastante fácil de usar e instalar.

¿Cómo funciona RabbitMQ?

RabbitMQ proporciona una interfaz que conecta a los remitentes (Editores) con los destinatarios (Consumidores) mediante un intermediario que distribuye los datos en las listas apropiadas:colas de mensajes.

APPLICATION       EXCHANGE        TASK LIST        WORKER
[DATA]  -------> [DATA] ------> [D]+[D][D][D] ---> [DATA]
Publisher        EXCHANGE          Queue         Consumer

Beneficios de RabbitMQ

A diferencia de otras soluciones, RabbitMQ es una pila de aplicaciones completa y no una base simple para la aplicación de su elección. Proporciona todas las herramientas necesarias en el complejo.

Una breve reseña de AMQP

AMQP (Advanced Message Queuing Protocol) es un estándar abierto generalizado para la distribución y transmisión de mensajes. Como protocolo y estándar, establece un marco común para la interacción de varias aplicaciones y agentes de mensajes y elimina los problemas causados ​​por el diseño de programas individuales.

Instalación de RabbitMQ

Los paquetes RabbitMQ son proporcionados por CentOS/RHEL y Ubuntu/Debian. Pero, como regla, tales paquetes están desactualizados. Por lo tanto, se recomienda descargar e instalar RabbitMQ manualmente.

Nota :Se recomienda que todas las acciones manuales se realicen en un servidor nuevo para no interrumpir el funcionamiento de las aplicaciones iniciadas anteriormente y no provocar un error de configuración.

Instalar RabbitMQ en CentOS/RHEL

Antes de comenzar a instalar RabbitMQ, debe instalar las dependencias del programa, una de las cuales es Erlang. Sin embargo, antes que nada, es necesario actualizar el sistema y las aplicaciones estándar; para hacer esto, ejecuta:

# yum -y update

Para la instalación de Erlang puede usar:

# Add and enable relevant application repositories:
# Note: We are also enabling third party remi package repositories.
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
# Finally, download and install Erlang:
yum install -y erlang

ahora puedes instalar RabbitMQ:

# Download the latest RabbitMQ package using wget:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.2/rabbitmq-server-3.2.2-1.noarch.rpm
# Add the necessary keys for verification:
rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
# Install the .RPM package using YUM:
yum install rabbitmq-server-3.2.2-1.noarch.rpm

Instalar RabbitMQ en Ubuntu

El proceso de instalación de RabbitMQ en Ubuntu/Debian es casi el mismo en CentOS. Primero, necesita actualizar el software:

# apt-get update
# apt-get -y upgrade

Agregar clave rabbitmq:

# curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -

Actualizar el paquete:

# apt-get update

Ahora puede instalar rabbitmq RabbitMQ:

$ sudo apt-get install rabbitmq-server

Gestión de RabbitMQ

Como se mencionó anteriormente, el corredor RabbitMQ es muy fácil de usar. Esta sección proporciona instrucciones para administrar y configurar RabbitMQ.

Habilitación de la consola de administración

RabbitMQ Management Console (RabbitMQ Management Console) es uno de los complementos disponibles que le permite monitorear los procesos del servidor RabbitMQ a través de una interfaz gráfica de usuario basada en la web.

Con esta consola, puede:

  • Administrar mensajes, colas de mensajes, conexiones y usuarios;
  • Haga un seguimiento de las colas de mensajes, las conexiones y las tasas de mensajes
  • Enviar y recibir mensajes;
  • Hacer un seguimiento de los procesos de Erlang y el uso de la memoria;

Y mucho más.

Para habilitar la administración de RabbitMQ, ejecute el comando:

$ sudo rabbitmq-plugins enable rabbitmq_management

Ahora puede abrir la consola de administración en el navegador visitando your_ip:15672.

Default rabbitmq user – guest.
Default rabbitmq password – guest

Administración de RabbitMQ en CentOS/RHEL

Para habilitar el inicio automático de RabbitMQ, debe ejecutar:

# chkconfig rabbitmq-server on

Para iniciar, detener, reiniciar y verificar el estado, use los siguientes comandos:

# start:
/sbin/service rabbitmq-server start
# stop:
/sbin/service rabbitmq-server stop
# restart:
/sbin/service rabbitmq-server restart
# status:
/sbin/service rabbitmq-server status

Administración de RabbitMQ en Ubuntu/Debian

Para iniciar, detener, reiniciar y verificar el estado de rabbitmq en Ubuntu/Debian, use los siguientes comandos:

# start:
service rabbitmq-server start
# stop:
service rabbitmq-server stop
# restart:
service rabbitmq-server restart
# status:
service rabbitmq-server status

¡Ahora su servidor rabbitmq está listo para usar!

Configuración de RabbitMQ

RabbitMQ viene con configuraciones estándar. En general, son bastante confiables y no requieren edición.


Linux
  1. Cómo instalar RabbitMQ en CentOS/RHEL 7/6 y Fedora

  2. Instalar Apache y PHP en CentOS 7

  3. Supervisión y gestión de la memoria

  4. Cómo instalar el servidor RabbitMQ y Erlang en Linux

  5. DESTDIR y PREFIJO de marca

Cómo instalar RabbitMQ en CentOS 8

Cómo instalar y configurar Grafana

Instale PostgreSQL 11 y PgAdmin4 en Ubuntu 18.04

Cómo instalar la herramienta de administración y aprovisionamiento de configuración de Foreman en CentOS 8

Instalar y configurar phpMyAdmin

Cómo instalar la extensión PHP AMQP y el cliente RabbitMQ en Linux