En los ambientes actuales de las organizaciones existen ciertos parámetros y pilares que son necesarios para una correcta administración de ésta y aún mucho más delicado permitir que todos los miembros de la compañía tengan la forma de comunicarse entre sí de forma efectiva, en tiempo real y con una total compatibilidad de sus dispositivos.
En este aspecto entran en juego las aplicaciones de mensajería que son desarrolladas con el objetivo de ofrecer las mejores soluciones en este campo y siendo mucho más que una simple app de intercambio de mensajes, deben contar con funcionalidades especiales para que sean las seleccionadas. En este ámbito contamos con RabbitMQ la cual es una plataforma de software cuyo objetivo es la intermediación de mensajes empresariales y se ofrece de forma gratuita y de código abierto disponible para todos los usuarios.
En este tutorial veremos cómo instalar y configurar RabbitMQ en dos de las distribuciones más conocidas por todos, CentOS 7 y Ubuntu 17.
RabbitMQ es un software liviano y fácil de implementar tanto a nivel local como en la nube, es compatible con múltiples protocolos de mensajería.
Un punto ideal de esta aplicación, es que RabbitMQ puede ser ejecutado en muchos sistemas operativos y entornos de nube, ofreciendo una amplia gama de herramientas de desarrollo disponible en múltiples idiomas.
RabbitMQ está escrito en Erlang e implementa el protocolo Advanced Message Queuing Protocol (AMQP). RabbitMQ admite múltiples protocolos de mensajería, colas de mensajes, acuse de recibo, enrutamiento flexible para colas, múltiples tipos de intercambio con el fin de que las organizaciones cuenten con recursos suficientes para todo el tema de mensajería.
Con RabbitMQ también tenemos una API HTTP fácil de usar, herramienta de línea de comandos y una interfaz de usuario web para la correcta administración de los parámetros de RabbitMQ. Algunos de los casos donde podemos hacer uso de RabbitMQ son los siguientes.
- Permitir que los servidores web puedan responder a las solicitudes rápidamente en lugar de realizar procedimientos intensivos en uso de recursos
- Distribuir un mensaje a múltiples destinatarios
- Presentar una funcionalidad completamente asíncrona a los sistemas back-end
- Ordenar y priorizar tareas
- Equilibrar cargas de trabajo entre trabajadores
- Incrementar el tiempo de actividad de la aplicación
RabbitMQ funciona haciendo uso de una interfaz la cual se conecta a los emisores de mensajes (Editores) con los receptores (Consumidores) a través de un intercambio (Corredor) el cual se encarga de distribuir los datos a listas relevantes (Colas de mensajes).
- Mensajería asincrónica: Este tipo de mensajería esta en la capacidad de admitir múltiples protocolos de mensajería, colas de mensajes, acuse de recibo, enrutamiento flexible para colas, tipo de intercambio múltiple y más.
- Opciones de desarrollo: RabbitMQ puede ser implementado con BOSH, Chef, Docker y Puppet y, adicional a esto, será posible desarrollar mensajes en varios idiomas con los lenguajes de programación como Java, .NET, PHP, Python, JavaScript, Ruby, Go y muchos más.
- Despliegue Distribuido: RabbitMQ puede ser implementado como un clúster para alta disponibilidad y rendimiento de los datos a gestionar
- RabbitMQ admite TLS y LDAP con lo cual se permite implementar en nubes públicas y privadas
- Múltiples herramientas: Con esta utilidad tenemos a mano una variedad de herramientas y complementos que admiten la integración continua, las métricas operativas y la integración con otros sistemas empresariales aumentando así la capacidad de desarrollo y alcance.
- Gestión y Monitoreo: RabbitMQ puedes ser gestionado a través de una API HTTP, herramienta de línea de comandos y UI.
1. Cómo instalar RabbitMQ en CentOS 7
Ahora veremos como instalar RabbitMQ en CentOS 7.
yum -y update
Instalación de Erlang: RabbitMQ está escrito en el lenguaje Erlang, pero Erlang no está disponible en el repositorio YUM por defecto, por ello, será necesario instalar el repositorio de Erlang ejecutando lo siguiente:
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
Ahora, descargaremos el RPM de Erlang ejecutando lo siguiente:
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
Con esto podremos instalar Erlang ejecutando lo siguiente:
yum install erlang
Para comprobar la instalación de Erlang basta con ejecutar el siguiente comando:
erl