Kafka 完整架构图

Producer
生产者客户端
Producer
生产者客户端
Producer
生产者客户端
▼ 发送消息
Topic: orders
订单主题 | partitions=3
Topic: user-events
用户事件 | partitions=3
Topic: logs
日志主题 | partitions=3
Partition 分布(Replication Factor = 3)
Partition 0
Broker 0 (Leader)
Segment 0
Offset 0-999 | 1GB
Segment 1
Offset 1000-1999 | 1GB
Broker 1 (Follower)
Replica of P0
同步中...
Broker 2 (Follower)
Replica of P0
同步中...
Partition 1
Broker 0 (Follower)
Replica of P1
同步中...
Broker 1 (Leader)
Segment 0
Offset 0-999 | 1GB
Segment 1
Offset 1000-1500 | 活跃
Broker 2 (Follower)
Replica of P1
同步中...
Partition 2
Broker 0 (Follower)
Replica of P2
同步中...
Broker 1 (Follower)
Replica of P2
同步中...
Broker 2 (Leader)
Segment 0
Offset 0-999 | 1GB
▼ ZooKeeper 协调
ZooKeeper / KRaft (Kafka 3.x+)
集群协调服务
▼ 消费消息
Consumer Group A
Consumer 1 → Partition 0
Consumer 2 → Partition 1
Consumer 3 → Partition 2
组内负载均衡 · 每 Partition 仅一 Consumer
Consumer Group B
Consumer 1 → Partition 0
Consumer 2 → Partition 1
Consumer 3 → Partition 2
独立消费 · 从头开始
Consumer Group C
Consumer 1 → Partition 0,1,2
单个 Consumer 消费全部 Partition
Offset
消息在 Partition 内的唯一序号
例如:P0 的第 1234 条消息 → Offset=1234
Consumer Offset
Consumer 已消费到的位置
提交后记录消费进度
HW (High Watermark)
已提交消息的最大 Offset
Consumer 只能看到 HW 之前的数据
LEO (Log End Offset)
日志末端的下一个 Offset
Producer 写入的位置
Broker 注册
监控 Broker 上下线
Controller 选举
选举集群 Controller
Leader 选举
Partition Leader 故障转移
配置管理
Topic ACL 配置存储
元数据
存储集群拓扑信息

核心概念对比

概念 定义 作用 特点
Topic 消息的逻辑分类 消息归类、主题隔离 可多订阅、持久化存储
Partition Topic 的物理分区 并行处理、水平扩展 有序、分布式、选举 Leader
Replica 分区的副本 数据冗余、高可用 1 Leader + N-1 Follower
ISR In-Sync Replicas 同步副本集合 acks=all 时需全部确认
Offset 消息的序号 消息定位、消费进度 单调递增、唯一标识
Consumer Group 消费者组 组内负载均衡、组间独立消费 组内竞争、组间广播
Broker Kafka 服务节点 存储分区、处理请求 无状态、ZooKeeper 协调
Controller 控制器节点 Leader 选举、状态管理 由 ZooKeeper 选举产生