Kafka en Producción · Lección 12
¿Qué problema resuelve habilitar la idempotencia en un producer de Kafka (enable.idempotence=true)?
Evita que un reintento automático de envío (tras un fallo de red temporal, por ejemplo) resulte en eventos duplicados escritos en el topic
Elimina por completo la necesidad de tener un replication factor mayor a 1
Solo funciona si el topic tiene exactamente una única partition en total
Garantiza que ningún consumer pueda leer el mismo evento más de una vez bajo ninguna circunstancia
Kafka en Producción · Lección 12
Completa el código
Cada producer idempotente recibe un identificador único llamado
Revisa: cada producer idempotente recibe un identificador único llamado Producer ID (PID).
Kafka en Producción · Lección 12
¿Por qué sin idempotencia, un reintento automático tras un timeout de red (donde el evento en realidad sí se había escrito, pero la confirmación se perdió) podría resultar en ese mismo evento duplicado en el topic?
Pista: si la escritura original sí tuvo éxito pero la confirmación de vuelta al producer se perdió por un problema de red, un reintento automático sin protección de idempotencia escribiría ese mismo evento una segunda vez, generando un duplicado que Kafka sin esa protección no podría detectar ni prevenir.
✓
¡Lección completada!
Idempotencia y exactly-once semantics
0
XP ganado
3
Vidas restantes