🐳 docker-labs GitHub ↗

RabbitMQ Messaging Infraestructura

Mensajeria asincrona con producer y consumer para jobs desacoplados.

Objetivo: Implementar mensajeria asincrona con RabbitMQ usando un producer y un consumer desacoplados.

Rol en la plataforma
Mensajeria asincrona
Stack
Node.js 18 + RabbitMQ
Puertos del host
5672 15672
Memoria recomendada
2.5 GB
Categoría
Infraestructura
Entradas
Management: http://localhost:15672
Health check
http://localhost:15672
Labs relacionados
Redis Cache API · Inventory Core

Qué hacer una vez levantado

docker compose -f 07-rabbitmq-messaging/docker-compose.yml up -d --build

07-rabbitmq-messaging#

Mensajeria asincrona con RabbitMQ 3 — producer, consumer y management UI.

Servicios y puertos#

ServicioPuerto hostDescripcion
RabbitMQ AMQP5672Protocolo de mensajeria
RabbitMQ Management UI15672Interfaz de administracion web

Inicio rapido#

# Levantar RabbitMQ
docker compose up -d

# En otra terminal: ejecutar el producer
npm run producer

# En otra terminal: ejecutar el consumer
npm run consumer

Management UI: http://localhost:15672

CampoValor
Usuariouser
Passwordpass

Health check#

ServicioCheckComando
RabbitMQConectividad brokerrabbitmq-diagnostics -q ping

El contenedor reporta healthy una vez que el broker esta listo para aceptar conexiones (puede tardar hasta 30 segundos en el primer arranque).


Arquitectura#

Producer (Node.js)
  └── RabbitMQ (:5672)
        └── Consumer (Node.js)

RabbitMQ Management UI (:15672)

Verificacion#

# Estado del contenedor y health check
docker compose ps

# Verificar conectividad del broker
docker compose exec rabbitmq rabbitmq-diagnostics -q ping
# Attempting to connect to node rabbit@... :: connected successfully

# Ver colas activas desde la CLI
docker compose exec rabbitmq rabbitmqctl list_queues