conduktor.io ↗

acks — Kafka Producer Configuration

The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent.

Description

The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The following settings are allowed:

Default Values by Kafka Version

Kafka VersionDefault Value
0.8.11
0.8.21
0.9.01
0.10.01
0.10.11
0.10.21
0.11.01
1.01
1.11
2.01
2.11
2.21
2.31
2.41
2.51
2.61
2.71
2.81
3.0all
3.1all
3.2all
3.3all
3.4all
3.5all
3.6all
3.7all
3.8all
3.9all
4.0all
4.1all
4.2all

Tuning Recommendation

ProfileRecommendedWhy
producer / throughputallKeep acks=all (the Kafka 3.0+ default) to preserve compatibility with enable.idempotence=true. The throughput cost is the ISR round-trip (typically 5-50ms extra latency); for pure throughput pipelines that accept data loss risk, acks=1 is an ALTERNATIVE — but it requires explicitly setting enable.idempotence=false first, otherwise Kafka throws ConfigException at startup.
producer / latency1acks=1 eliminates the ISR round-trip wait: the leader acknowledges as soon as the record is written to its own log, removing the follower replication lag (typically 5-50ms) from the produce critical path.
producer / durabilityallacks=all (alias for acks=-1) is the only setting that guarantees a record is written to ALL in-sync replicas before the leader acknowledges; the record survives any single broker failure after the ack is received. This is the Kafka default since 3.0.

Related Configs

enable.idempotence · retries · max.in.flight.requests.per.connection · min.insync.replicas · delivery.timeout.ms · transactional.id

Manage Kafka configs across all your clusters with Conduktor Console — view, compare, and update configurations in one place.