数据岗位面试题更新 2026-08-05

请解释 Kafka 中的 Leader 和 Follower 角色,并阐述在副本机制中它们是如何分工与协作的?

数据系统设计技术原理Apache Kafka

考察说明

考察对 Kafka 副本机制核心概念及其协作原理的理解。

回答思路

  1. 【回答框架 1】Kafka 中每个分区有多个副本,其中一个为 Leader,其余为 Follower。Leader 负责处理所有读写请求,Follower 负责从 Leader 同步数据以保持副本一致。
  2. 【回答框架 2】Follower 定期向 Leader 发送 Fetch 请求拉取新消息,Leader 根据配置的副本同步策略(如 acks 设置)决定何时确认写入成功。在 ISR(In-Sync Replica)集合中的 Follower 才被认为是同步的。
  3. 【回答框架 3】当 Leader 发生故障时,控制器会从 ISR 中选择一个新的 Leader,优先选择同步程度最高的副本,以保证数据不丢失。旧 Leader 恢复后可能成为 Follower 并重新同步数据。
  4. 【回答框架 4】副本机制提供了数据冗余和高可用性,但会增加网络和存储开销。合理设置副本因子(如 3)可在容错与性能间取得平衡。
  5. 【关键点 1】Leader 处理所有读写,Follower 只同步数据。
  6. 【关键点 2】ISR 中的 Follower 才算同步副本。
  7. 【关键点 3】Leader 故障时从 ISR 中选举新 Leader。
  8. 【关键点 4】副本因子越大,冗余越强但开销越大。
  9. 【易错点 1】误以为所有副本都能提供读服务,实际上 Kafka 默认只允许 Leader 处理读写。
  10. 【易错点 2】忽略 ISR 机制而简单认为所有副本都同步。