Integration / Apache Kafka Interview questions
What are the types of message delivery semantics in Kafka?
Delivery semantics describe the guarantee a consumer gets about whether it might see a message zero, one, or more than once, and Kafka can be configured to support any of the three, depending on how offsets are committed relative to processing.
| Semantic | Guarantee |
| At-most-once | A message may be lost, but is never processed twice (offset committed before processing). |
| At-least-once | A message is never lost, but may be processed more than once (offset committed after processing). |
| Exactly-once | A message is processed once and only once, using Kafka's idempotent producer and transactional APIs. |
At-least-once is the most common default in real applications, since it's the simplest to implement correctly and downstream processing can often be made idempotent to tolerate the occasional duplicate; exactly-once requires more setup (transactions, idempotent writes) but removes the need for that downstream deduplication logic entirely.
More Related questions...