后端岗位面试题更新 2026-08-05

在Apache Kafka中,Zookeeper承担了哪些职责?请具体说明。

后端开发技术原理Apache Kafka

考察说明

考察对Kafka架构中Zookeeper功能的掌握,理解其作为协调服务的作用。

回答思路

  1. 【回答框架 1】Zookeeper在Kafka中主要负责集群元数据管理和协调,包括Broker注册与发现、Topic配置存储、分区副本选举(Controller选举)、消费者组协调(Offset存储与消费者再平衡)等。
  2. 【回答框架 2】Broker启动时向Zookeeper注册自身信息,包括主机、端口、运行状态等,客户端和Controller可以通过Zookeeper获取集群Broker列表,实现服务发现。
  3. 【回答框架 3】Zookeeper保存Topic的元数据,包括分区列表、副本分配、Leader副本选举结果等。当Broker故障或新增分区时,Controller从Zookeeper读取元数据并执行变更。
  4. 【回答框架 4】Controller选举依赖Zookeeper的临时节点和监听机制,多个Broker竞争创建/controller节点,成功者成为Controller,负责分区Leader选举和集群管理。
  5. 【回答框架 5】消费者组的Offset存储和消费者再平衡也依赖Zookeeper(旧版本),新版本Kafka使用内部Topic__consumer_offsets存储Offset,但Zookeeper仍用于管理Broker和元数据。
  6. 【关键点 1】Zookeeper负责Broker注册、Topic元数据存储、Controller选举和旧版消费者组协调。
  7. 【关键点 2】Controller通过Zookeeper临时节点实现选举,保证集群协调的一致性。
  8. 【关键点 3】新版Kafka减少了对Zookeeper的依赖,但元数据管理仍离不开它。
  9. 【易错点 1】不要混淆旧版消费者Offset存储在Zookeeper,新版已迁移到内部Topic。
  10. 【易错点 2】Zookeeper只有协调作用,不参与消息数据的传输和存储。