🧪 Problem-Driven Systems Lab

🧠 Causas raíz#

  • Operaciones no idempotentes con retries automáticos. El cliente, el proxy o el balanceador reintentan; el servidor no distingue el reintento del pedido nuevo.
  • Check-then-act en vez de una operación atómica. La ventana entre mirar y escribir es todo el bug, y el código se ve razonable en la review.
  • Tabla de idempotencia en memoria del proceso. Correcta con una réplica, incorrecta con dos — y el salto de una a dos casi nunca se prueba.
  • Efecto lateral fuera de la transacción. El cargo en la base y el email en la cola, sin nada que los ate. Si el proceso muere en el medio, quedan desincronizados.
  • Sin ventana de deduplicación. Una clave que vive para siempre es una tabla que crece para siempre; una que caduca demasiado rápido deja pasar reintentos tardíos.

Caso 16 · Idempotencia y efectos duplicados⬅️ 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

Ver esta carpeta en GitHub ↗