conduktor.io ↗

num.replica.fetchers — Kafka Broker Configuration

Number of fetcher threads used to replicate records from each source broker. The total number of fetchers on each broker is bound by num.

Description

Number of fetcher threads used to replicate records from each source broker. The total number of fetchers on each broker is bound by num.replica.fetchers multiplied by the number of brokers in the cluster.Increasing this value can increase the degree of I/O parallelism in the follower and leader broker at the cost of higher CPU and memory utilization.

Default Values by Kafka Version

Kafka VersionDefault Value
0.8.01
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.01
3.11
3.21
3.31
3.41
3.51
3.61
3.71
3.81
3.91
4.01
4.11
4.21

Tuning Recommendation

ProfileRecommendedWhy
broker / throughput4Each replica fetcher thread replicates data from the leader for a subset of partitions. With a single thread and hundreds of partitions, replication lag accumulates, causing followers to fall out of ISR and degrading write availability. 4 threads parallelize replication across partitions.
broker / durability4Faster replication directly improves durability: a follower that lags behind accumulates unreplicated data that becomes vulnerable to loss on leader failure. More fetcher threads reduce replication lag, shrinking the window of unprotected writes.
broker / latency4Parallelizes replication fetch across 4 threads, reducing replication lag which directly impacts acks=all produce latency.

Related Configs

replica.fetch.max.bytes · replica.lag.time.max.ms · replica.socket.receive.buffer.bytes · default.replication.factor

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