Message Queue
Cola de mensajes
Una cola de mensajes mantiene trabajo o mensajes hasta que un consumidor puede manejarlos. Los productores y consumidores pueden ejecutarse en diferentes momentos y velocidades.
Otro ejemplo
El proceso de pago escribe el pedido 984 y un registro de bandeja de salida en una sola transacción. Luego un relé envía “generar recibo” a una cola duradera. Tres trabajadores lo confirman solo después de guardar el PDF y reintentan fallos de almacenamiento cortos con retroceso. Un mensaje que siempre falla va a una cola de mensajes no entregados con su ID de correlación.
Partes principales
- 01Productor y mensaje
- 02Cola y entrega duraderas
- 03Reconocimiento del consumidor y ruta de fallo
Úsalo cuando
Use una cola para manejar picos de tráfico, separar trabajos lentos, reintentar fallos cortos o compartir tareas. Defina exactamente cómo funciona la entrega.
No lo uses cuando
No agregues una cola cuando se requiere una respuesta inmediata. También evítala sin consumidores idempotentes, límites de acumulación, observabilidad y un plan para mensajes que siempre fallan.
Nombre usado en código
durable queue + delivery/ack policy + idempotent consumer + retry/DLQ Antes de lanzarlo
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Cola de mensajes (Message Queue). User context: El proceso de pago escribe el pedido 984 y un registro de bandeja de salida en una sola transacción. Luego un relé envía “generar recibo” a una cola duradera. Tres trabajadores lo confirman solo después de guardar el PDF y reintentan fallos de almacenamiento cortos con retroceso. Un mensaje que siempre falla va a una cola de mensajes no entregados con su ID de correlación. Technical concept or control: Cola de mensajes (Message Queue). Why it fits: Use una cola para manejar picos de tráfico, separar trabajos lentos, reintentar fallos cortos o compartir tareas. Defina exactamente cómo funciona la entrega. Do not use it when: No agregues una cola cuando se requiere una respuesta inmediata. También evítala sin consumidores idempotentes, límites de acumulación, observabilidad y un plan para mensajes que siempre fallan. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Ningún estándar oficial único controla todo el término. Su significado puede cambiar según equipos, plataformas o marcos. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Revisa esta petición
Review how Cola de mensajes (Message Queue) is used now. Definition: Una cola de mensajes mantiene trabajo o mensajes hasta que un consumidor puede manejarlos. Los productores y consumidores pueden ejecutarse en diferentes momentos y velocidades. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.