Beginner5 min
Producer acks Comparison (0 vs 1 vs all)
See what the producer waits for with acks=0, acks=1 and acks=all, and when acks=all refuses a write.
The acks setting says how many acknowledgements the producer needs before it considers a write complete: none (acks=0), the leader's (acks=1), or the full set of in-sync replicas (acks=all, the default). Together with min.insync.replicas it sets how much durability you get.
The steps use the simulator and name the control to use. The outcomes they describe are what the simulator models; the sources below are what Apache documents.
Steps
0 of 5 steps completed
Verification
You can say what each setting waits for, and why acks=all with min.insync.replicas=2 refuses a write when only one replica is in sync.
The interview angle
acks=all guarantees that the record is not lost as long as at least one in-sync replica stays alive; min.insync.replicas makes it refuse writes when too few replicas are in sync. acks=0 and acks=1 trade durability for latency. enable.idempotence defaults to true.
Sources
- Producer configs (4.2 documentation) (opens in a new tab)
- Broker configs (4.2 documentation) (opens in a new tab)
- Design (4.2 documentation) (opens in a new tab)
Checked against Kafka 4.2 documentation on 11 October 2026. Draft: not yet reviewed by a Kafka specialist, and releases move on, so confirm against the current documentation before you act on it.