Kafka的单机架构包括以下几个组件:
1. Producer
生产者角色,负责发送消息到Kafka cluster。
2. Broker
Broker是一个独立的进程,提供以下服务:
- 接受Producer发送来的消息
- 持久化消息到磁盘
- 接受Consumer的Fetch请求,返回消息给Consumer
- Leader选举和Follower同步(如果有复制)
3. Topic
逻辑分类,一个Broker可以有多个Topic。
4. Partition
一个Topic可以有多个Partition,每个Partition有一个唯一ID。
5. Consumer
消费者角色,从Kafka集群订阅消息。
6. Offset
每个Partition在每个Consumer Group中都有一个Offset,表示已经消费到哪个位置。
部署单机架构主要包括:
- 一个Broker进程
- 一个或多个Topic
- 每个Topic有1-N个Partition
- 一个Producer发送消息,将消息发布到指定Topic和Partition
- 一个或多个Consumer订阅指定Topic,消费指定Partition的数据
- Consumer维护好各自Partition的Offset
总结,单机Kafka架构主要包括:
1.Producer 发送消息
2.Broker 提供服务
3.Topic 分类
4.Partition 分隔
5.Consumer 消费消息
6.Offset 标识消费位置
即Producer发送消息到Topic和Partition,Consumer订阅Topic和Partition来消费消息。Broker负责整个流程的协调。
Kafka单机架构中,Broker负责协调Producer发送消息到Topic/Partition和Consumer订阅消息这一工作流程。