🧠 Causas raíz#
- Cola sin capacidad por defecto. En varios stacks «sin límite» es lo que sale si no se escribe nada: un array de PHP, un
Queue()de Python, unConcurrentLinkedQueuede Java. El freno hay que pedirlo. - Ausencia de señal de backpressure hacia el productor. El productor no tiene forma de enterarse de que el consumidor no da abasto, así que sigue produciendo al mismo ritmo.
- Descarte silencioso. Una cola acotada sin contador de rechazos pierde mensajes sin dejar rastro — es peor que la cola sin límite, porque además es invisible.
- Confundir latencia del consumidor con latencia del mensaje. El consumidor puede tardar 3 ms por mensaje y el mensaje haber esperado cuatro minutos en la cola.
- Dead letter queue sin dueño. Se elige la DLQ porque «no frena ni pierde», y nadie define quién la mira ni con qué frecuencia. Eso es exactamente el caso 20.
Caso 15 · Backpressure en colas de mensajes — ⬅️ README del caso · ⚖️ Comparativa de los 7 stacks
🗺️ Contexto · 🩺 Síntomas · 🔍 Diagnóstico · 🧠 Causas raíz · 🛠️ Opciones de solución · ⚖️ Trade-offs · 💼 Valor de negocio · 🚨 Postmortem