目录
基于 ZooKeeper 的管理模式
基于 KRaft 的管理模式
迁移到 KRaft 模式的优势
迁移步骤
Kafka 早期依赖 ZooKeeper(ZK)进行元数据管理、集群协调等工作,但在新版本(Kafka 2.8.0 及之后)引入了 KRaft 模式来替代 ZooKeeper 进行管理。下面详细介绍这两种管理模式以及新版本的变化:
基于 ZooKeeper 的管理模式
在早期版本中,Kafka 严重依赖 ZooKeeper 进行以下关键管理任务:
- 元数据存储:Kafka 将集群的元数据(如主题、分区、副本信息等)存储在 ZooKeeper 中。每个 Broker 启动时都会向 ZooKeeper 注册自己的信息,并且监听元数据的变化。
- 集群协调:ZooKeeper 负责协调 Kafka 集群中的各种操作,如领导者选举。当某个分区的领导者副本所在的 Broker 发生故障时,ZooKeeper 会参与新领导者的选举过程。
- Broker 状态管理:ZooKeeper 可以监控每个 Broker 的状态,当 Broker 加入或离开集群时,ZooKeeper 会通知其他相关组件进行相应的调整。