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

请描述 Apache Kafka 的基本架构由哪些核心组件构成,并分别说明每个组件承担的功能职责。

数据技术原理Apache Kafka

考察说明

考察对 Kafka 分布式消息系统核心组件的构成及各组件作用的掌握程度。

回答思路

  1. 【回答框架 1】Kafka 的基本架构核心组件包括 Producer、Consumer、Broker、Topic、Partition、副本(Replica)、Zookeeper(或 KRaft 元数据模式)。Producer 负责发布消息到指定 Topic,Consumer 从 Topic 订阅并消费消息,Broker 是 Kafka 集群中的服务器节点,负责接收、存储和分发消息。
  2. 【回答框架 2】Topic 是消息的逻辑分类,每个 Topic 下包含多个 Partition,Partition 是物理上的有序消息队列,每条消息在 Partition 内有一个唯一偏移量,Partition 的引入实现了并行读写和水平扩展。每个 Partition 可以拥有多个副本,其中 Leader 副本负责读写,Follower 副本负责同步备份,提供高可用。
  3. 【回答框架 3】Zookeeper 在旧版 Kafka 中负责集群元数据管理、Broker 选举和消费者组协调;新版本逐渐使用 KRaft 模式替代 Zookeeper,简化架构。消费者组通过分区分配机制实现消费负载均衡,每个分区同一时间只被组内一个消费者消费,保证消息的顺序性。
  4. 【回答框架 4】各组件协同工作:Producer 将消息按分区策略写入 Leader,Follower 同步数据,Consumer 从 Leader 拉取消息并提交偏移量,Broker 负责管理存储和网络,整个集群依赖副本机制保证数据不丢失,依赖分区机制提高吞吐。
  5. 【关键点 1】Kafka 由 Producer、Consumer、Broker、Topic 和 Partition 构成,借助副本机制提供高可用。
  6. 【关键点 2】Partition 是并行和数据有序的基础,副本中 Leader 负责读写,Follower 负责备份。
  7. 【关键点 3】Zookeeper 负责元数据管理,在 KRaft 模式下被替代。