Skip to content
LakeBench
ProblemsCommunityPricing
Sign inStart practicing
Back
  1. Home
  2. Interview prep
  3. ZooKeeper vs KRaft

Kafka · Core Concepts

ZooKeeper vs KRaft

Mediumkafka-06
kraftzookeepermetadatacontrollerops

Question

What is the difference between ZooKeeper and KRaft for Kafka metadata management?

Solution

Kafka needs a way to store cluster metadata: brokers alive, topics, partitions, leaders, configs, ACLs, and so on.

ZooKeeper mode (classic / older)

Historically Kafka used Apache ZooKeeper as an external coordination service.

  • Brokers register with ZooKeeper.
  • Controller election and some metadata lived in ZooKeeper.
  • Ops burden: run and tune two systems (Kafka + ZooKeeper).
  • ZooKeeper could become a scalability and operational bottleneck at large cluster sizes.

KRaft mode (Kafka Raft, modern default direction)

KRaft means Kafka manages its own metadata using an internal Raft consensus quorum of controller nodes. No external ZooKeeper.

ZooKeeper era:                 KRaft era:
  ZK ensemble                    Kafka controllers (Raft)
       ↑                                ↑
  Kafka brokers                  Kafka brokers

Why KRaft matters

  • Simpler ops: one system to deploy and monitor
  • Faster recovery and more scalable metadata
  • Aligns Kafka with a self-contained architecture

Interview framing

  • Old answer: "Kafka needs ZooKeeper for coordination."
  • Current answer: "Classic deployments used ZooKeeper; modern Kafka uses KRaft so metadata is managed inside Kafka via Raft. New clusters should prefer KRaft."

You may still see ZooKeeper in older companies. Knowing both shows you follow the platform's evolution.

Interview tip: Mention KRaft first for greenfield, then note ZooKeeper for legacy clusters.

PreviousNext