Im trying to optimize a 3-brokers Kafka cluster, and got into a very basic yet unclear issue.
Consider i have this configuration:
kafka.topic.partitions.number=10
kafka.partition.replications.number=3
min.insync.replicas=2
This means that :
- 10 partition per topic.
- Each partition should be replicated on all brokers
- Partition is healthy if 2 in-sync-replicas (allows 1 failing broker)
The question is about the necessity of replication=3, is it really necessary ?
the value '2' will also allow:
- 1 broker to fail
- probably faster convergence and recovery
- In the case of 2 failing brokers, the cluster will not function anyway.
BTW - my zookeeper installed on the same kafka machines.
Thanks .