Apache Kafka - Achieving Exactly-Once Semantics (EOS)
In distributed systems, message delivery guarantees are one of the most critical design considerations. Every pipeline must answer a deceptively simple question: how many times will this message be processed?
Traditionally, systems have offered two guarantees:
- • At-most-once delivery: Messages are processed zero or one time. This avoids duplicates but risks data loss if failures occur.
- • At-least-once delivery: Messages are processed one or more times. This ensures reliability but introduces duplicates that downstream systems must handle.
In domains like payments, fraud detection, and compliance auditing, duplicates or lost events can have severe consequences.
Continue Reading