ADR-002: mensajería con Kafka
Aceptado el 10/11/2026 por Andrés.
Contexto
La capa necesita propagar cambios de stock y precio, coordinar la saga y notificar a partners. Alternativa evaluada: SNS con SQS.
Decisión
Kafka. Proveedor según el entorno: contenedor local para desarrollo, Confluent Cloud Basic para el demo, Amazon MSK como referencia de producción.
Por qué
- El modelo de lectura se puede reconstruir releyendo tópicos compactados. Con colas no hay pasado que releer.
- Orden garantizado por llave: todos los eventos de una orden, o de un SKU, llegan en orden.
- Varios consumidores independientes del mismo hecho sin configurar una cola por cada uno.
Qué se sacrifica
- Reintentos y DLQ no son nativos: se diseñan con tópicos de reintento (
docs/to-be/09-resiliencia.md). - Hay que dimensionar particiones y vigilar el retraso de consumidores.
- Más costo y operación que SNS con SQS a este volumen.
Cuándo se revisaría
Si el equipo no pudiera operar Kafka y el reproceso no se usara en la práctica.