Colas y procesamiento asíncrono
Síncrono frente a asíncrono
La llamada síncrona espera respuesta y ata la disponibilidad de ambos. El patrón asíncrono deja un mensaje y sigue: quien lo procesa lo toma cuando puede, tolerando que el otro esté lento o caído.
Broker y colas
- Un broker recibe, guarda y entrega mensajes entre productores y consumidores.
- Una cola ordena mensajes para un grupo que los consume.
- Un tema los reparte entre varios consumidores independientes.
Desacoplamiento
Productor y consumidor dejan de conocerse ni coincidir en el tiempo. Puedes añadir consumidores sin tocar el emisor, y un consumidor nuevo no rompe al resto: el contrato es el formato del mensaje.
Absorber picos
Cuando la demanda se dispara, la cola acumula trabajo y los consumidores lo digieren a su ritmo. La cola actúa como volante: la punta entra irregular y sale suave y procesable.
Entrega y duplicación
Los brokers ofrecen al menos una vez y a veces exactamente una vez. Como reintentar puede duplicar, el consumidor debe ser idempotente: procesar dos veces el mismo mensaje no debe dañar.
Orden y paralelismo
Preservar el orden estricto limita el paralelismo; para acelerar se particiona por clave, garantizando orden dentro de cada partición pero no global. Orden total y alto rendimiento tironean.
Colas muertas
Un mensaje que falla repetidamente se aísla en una cola de fallos para inspeccionarlo sin bloquear el flujo. Es la válvula que evita que un mensaje tóxico atascara a todos los consumidores.

Errores frecuentes
- Esperar la respuesta dentro de la transacción y atar la suerte de dos servicios.
- Consumidores que no son idempotentes y cobran dos veces al reintregar el mensaje.
- Exigir orden global y renunciar al paralelismo que la cola ofrecía.
Ejemplo resuelto: cobros que sobreviven al proveedor caído
Un servicio de pagos falla a veces justo al llamar al cobrador. El rediseño:
- Publicar la orden de cobro en una cola duradera en vez de llamar en línea.
- Responder al usuario con el encargo aceptado, sin esperar el cobro completo.
- Consumir a ritmo sostenido, añadiendo consumidores cuando la cola crece.
- Reintentar con espera creciente y, si se agota, mover el mensaje a la cola muerta.
- Garantizar idempotencia por identificador de cobro para no duplicar cargos.
¿Para qué sirve en la realidad?
Casi toda integración entre servicios, del email a la liquidación, usa colas para no caerse junta. El desacople convierte una dependencia de disponibilidad en un contrato sobre el formato del mensaje.
Un servicio de pagos falla a veces bajo su operación de cobro. Procesar los cobros vía una cola duradera en vez de una llamada directa aporta sobre todo:
Fiarse de una cola hace innecesario que el consumidor sea idempotente.
Colas
Toca una tarjeta para ver la respuesta.
Ordena el recorrido de un mensaje asíncrono con reintentos:
Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.
Cola de mensajesFuncionamiento de las colas y su papel en el desacoplamiento de sistemas.
Une cada pieza de la mensajería con su función.
Desacoplar en tiempo y en fallo
- Colas y asincronía
- Desacople
- ni se conocen
- ni se conocen
- ni coinciden en el tiempo
- Desacople
- el buffer amortigua
- al menos una vez
- por clave en particiones
Tutoriales oficiales de RabbitMQGuías paso a paso de colas, intercambios y consumidores.
Tu servicio de correos envía facturas y a veces el proveedor de email está caído. ¿Cómo convertir eso en flujo con cola, y qué debes garantizar en el consumidor por los reintentos?
Tu texto se guarda sólo en este dispositivo.
Comentarios
Inicia sesión para comentar.
Todavía no hay comentarios. Sé la primera persona en opinar.