¿Por Qué RabbitMQ?

RabbitMQ introduce un broker de mensajes intermediario: el Servicio A publica un mensaje en una cola, el Servicio B lo consume cuando está listo. Si B está caído, el mensaje espera seguro.


Instalación

sudo apt install -y erlang-base rabbitmq-server
sudo systemctl enable --now rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_management

Acceda a la UI en http://servidor:15672 (usuario: guest/guest, solo localhost).

Tipos de Exchange

TipoComportamiento
DirectCoincidencia exacta de routing key
FanoutDifunde a TODAS las colas vinculadas
TopicCoincidencia por patrones (*.error, logs.#)
HeadersEnruta por atributos del header

Clustering para Alta Disponibilidad

# En node2 y node3:
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

Solución de Problemas

ProblemaSolución
Alarma de memoriaAgregue consumidores, más RAM o política max-length
Nodos no pueden unirseVerifique cookie Erlang, resolución DNS y puertos 4369/25672
Mensajes sin consumirVerifique conexiones de consumidores y bindings
Cola creciendo sin límiteEstablezca política TTL: rabbitmqctl set_policy TTL ".*" '{"message-ttl":86400000}'

Artículos Relacionados