Skip to content
Kafka Is FunProgress

Lesson 2 of 3

At-Least-Once Delivery

Messages are never lost but may be duplicated. Achieved by: acks=all, retries=MAX, enable.idempotence=false. If the network fails after the broker writes but before the ACK returns, the producer retries — the broker receives the same message twice. Consumers must be idempotent (processing the same message twice must produce the same result). This is the most common production pattern.

Key configuration

broker / client configurationproperties
acks=all
retries=Integer.MAX_VALUE
enable.auto.commit=false
// Consumer: implement idempotent processing

Try it in the simulator

Guided scenarios for this module — the simulator opens with the exercise already running.