At-most-once delivery guarantees that a message is delivered no more than once, so duplicates cannot occur, but the message may never arrive. In Kafka, producers obtain this guarantee with acks=0: they do not wait for broker acknowledgment. section 5.1.3
When losing a reading is preferable to duplicating it
A temperature sensor sending continuous readings in very large quantities may use acks=0 when a missing measurement is acceptable but a duplicate reading is undesirable. The same trade-off would be unsafe for banking transactions, where duplicate credits or debits could occur under other delivery settings. section 5.1.3
The configuration trades reliability for simplicity and speed:
- Set acks=0 to avoid waiting for acknowledgments and accept that a broker may never receive the message. section 5.1.3 section 5.4
- Choose at-most-once when duplicate suppression matters more than recovering every measurement. section 5.1.3
- Use at-least-once or exactly-once alternatives when message loss or duplicate processing is unacceptable. section 5.1.3 section 5.4
Figure 5.2 We get at-most-once delivery guarantees with acks=0.
Visualizes how acks=0 produces at-most-once delivery by removing the producer’s acknowledgment wait. section 5.1.3




