Saltar al contenido
Explorar conocimiento

concepto · intermedio · 2 min de lectura

RabbitMQ

RabbitMQ es un message broker que implementa AMQP, ideal para enrutamiento complejo de mensajes y colas de trabajo con confirmaciones de entrega.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • RabbitMQ as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

RabbitMQ es un broker de mensajería maduro y ampliamente adoptado que implementa el protocolo AMQP 0-9-1. A diferencia de Kafka —optimizado para streaming y retención—, RabbitMQ brilla en enrutamiento flexible: los productores publican en exchanges, que enrutan mensajes a colas según reglas —routing keys, bindings, headers—.

Soporta múltiples protocolos (AMQP, MQTT, STOMP), confirmaciones de entrega, dead letter queues, y alta disponibilidad con mirroring o quorum queues. Es la opción natural cuando necesitás enrutamiento complejo y garantías de entrega por mensaje individual.

Alcance y supuestos

Cubre RabbitMQ como broker, su modelo de exchanges/colas, y casos de uso. Asume familiaridad con mensajería.

Modelo mental

Una central telefónica antigua con operadoras. Llamás, decís a quién querés hablar —routing key—, la operadora —exchange— conecta tu llamada a la línea correcta —cola—. Si la persona no está, el mensaje queda esperando.

Uso práctico

  • ✅ Colas de trabajo, enrutamiento complejo, integración entre sistemas con protocolos distintos.
  • ❌ Streaming de alto volumen con múltiples consumidores leyendo los mismos datos históricos.

Ejemplo trabajado: cola de thumbnails

Un usuario sube una foto. El backend publica un mensaje en la cola thumbnail-gen. Tres workers consumen la cola —cada mensaje va a un solo worker—. Si un worker falla a mitad del proceso, RabbitMQ reenvía el mensaje a otro worker (ack no enviado).

Evidencia

Fuentes citadas