Skip to content
Kafka Is FunProgress

BeginnerCore Concepts

What is the difference between at-most-once, at-least-once, and exactly-once delivery?

Reference answer

At-most-once: messages may be lost but are never duplicated (acks=0, no retries). At-least-once: messages are never lost but may be duplicated on producer retry (acks=all with retries, without idempotence). Exactly-once: no loss and no duplication — requires enable.idempotence=true on the producer and transactions for cross-partition atomicity. In practice, most systems use at-least-once with idempotent consumers since true exactly-once is complex and has throughput overhead.

Expected key concepts: at-most-once, at-least-once, exactly-once, acks, retries, idempotence, duplication, loss, transactions