Saltar al contenido
Explorar conocimiento

concepto · intermedio · 1 min de lectura

Message Queue

Una cola de mensajes es un buffer que almacena mensajes entre un productor y un consumidor, permitiendo procesamiento asíncrono y desacoplamiento temporal.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • Message Queue as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

Una cola de mensajes —message queue— es un intermediario que recibe mensajes de productores y los entrega a consumidores siguiendo una disciplina FIFO. Cada mensaje se entrega a un solo consumidor, lo que la hace ideal para distribuir trabajo entre múltiples workers.

A diferencia de pub/sub —donde todos los suscriptores reciben todos los mensajes—, en una cola cada mensaje se procesa una vez por un miembro del consumer group. RabbitMQ, SQS, y Redis Lists son implementaciones comunes.

Alcance y supuestos

Cubre el patrón message queue, su diferencia con pub/sub y casos de uso. Asume familiaridad con mensajería.

Modelo mental

La fila del banco. Cada cliente —mensaje— espera su turno. Hay 3 cajeros —consumidores—. Cuando un cajero se libera, atiende al siguiente cliente. Cada cliente es atendido por un solo cajero.

Uso práctico

  • ✅ Distribución de trabajo, procesamiento asíncrono, suavizado de picos de carga.
  • ❌ Broadcasting de eventos a múltiples servicios: usar pub/sub.

Ejemplo trabajado: procesamiento de imágenes

Un usuario sube 100 fotos. El backend encola 100 mensajes. Tres workers consumen la cola en paralelo, cada uno procesando ~33 fotos. Sin cola, el usuario esperaría a que las 100 se procesen secuencialmente.

Evidencia

  • RabbitMQ, AWS SQS y ActiveMQ son message queues clásicas. Kafka también puede actuar como cola con consumer groups.

Fuentes citadas