Why ZooKeeper Was Replaced with KRaft - The Log of All Logs | Confluent Why Replace ZooKeeper with Kafka Raft - The Log of All Logs
Mar 22, 2022Guozhang Wang

Summary
This post details the rationale for replacing ZooKeeper with KRaft for Kafka metadata management. It explains the scalability limitations of the old controller design, particularly during broker shutdowns and controller failovers, and the inherent challenges of using ZooKeeper as a metadata store. The post then introduces KRaft as a solution, explaining the concept of a metadata log, the benefits of using quorum replication (Raft algorithm) over primary-backup, and the leader election protocol within KRaft.
More from the Kafka KRaft Migration trail
- Announcing Confluent Platform 8.3: Powerful Apache Flink® SQL operations, Easier KRaft Migrations, Expanded Monitoring and more
- Apache Kafka 4.3 released: 25 KIPs, Kafka Streams, Share Group Controls, Broker Isolation, and more
- Introducing Confluent Platform 8.2: Queues for Kafka & Flink SQL
- Migrate From Hosted Kafka to Confluent Cloud in the KRaft Era
- Apache Kafka 4.1 Release: New Features & Upgrade Guide