Publicado en

Instalación de RabbitMQ en Linux para Gestionar Mensajería

RabbitMQ es un broker de mensajería de código abierto que facilita la comunicación entre aplicaciones distribuidas. Su compatibilidad con múltiples protocolos y su facilidad de uso lo convierten en una opción ideal para manejar colas de mensajes en arquitecturas escalables.

1. Instalación de RabbitMQ en Linux

Requisitos previos

Antes de instalar RabbitMQ, es necesario contar con Erlang, ya que RabbitMQ depende de este lenguaje de programación para su funcionamiento.

Instalación en Debian y Ubuntu

sudo apt update
sudo apt install -y erlang
wget -O- https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash
sudo apt install -y rabbitmq-server

Instalación en RHEL, CentOS y Fedora

sudo yum install -y epel-release
sudo yum install -y erlang
sudo dnf install -y https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.0/rabbitmq-server-3.11.0-1.el8.noarch.rpm
sudo systemctl enable --now rabbitmq-server

Para verificar que el servicio esté activo:

sudo systemctl status rabbitmq-server

2. Configuración de RabbitMQ

Habilitar el panel de administración

RabbitMQ incluye un panel de administración accesible desde el navegador:

sudo rabbitmq-plugins enable rabbitmq_management

Por defecto, se accede a través de http://localhost:15672/ con usuario y contraseña guest/guest.

Crear un usuario y vhost

Para mayor seguridad, es recomendable crear un usuario específico:

sudo rabbitmqctl add_user usuario contraseña
sudo rabbitmqctl set_permissions -p / usuario ".*" ".*" ".*"

3. Configuración de Colas y Consumidores

Declaración de una Cola en Python

Usaremos la biblioteca pika para interactuar con RabbitMQ en Python:

import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='mi_cola')
channel.basic_publish(exchange='', routing_key='mi_cola', body='Hola, RabbitMQ!')
print("Mensaje enviado")
connection.close()

Creación de un Consumidor

def callback(ch, method, properties, body):
    print(f"Mensaje recibido: {body}")

channel.basic_consume(queue='mi_cola', on_message_callback=callback, auto_ack=True)
print("Esperando mensajes...")
channel.start_consuming()

4. Casos de Uso de RabbitMQ

  • Microservicios: Facilita la comunicación entre servicios de manera eficiente.
  • Procesamiento de Tareas en Segundo Plano: Encola trabajos para ejecutarlos de manera asíncrona.
  • Notificaciones en Tiempo Real: Envia eventos a clientes en sistemas en tiempo real.

Con esta guía, ahora tenés RabbitMQ instalado y configurado para manejar mensajería en Linux. ¡A probarlo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *