1. 基础架构
- 为方便扩展,并提高吞吐量,一个topic分为多个partition(分区)
- 配合分区的设计,提出消费者组的概念,组内每个消费者并行消费
- 为提高可用性,为每个partition增加若干副本,类似NameNode HA
- ZK中记录谁是leader,Kafka2.8.0以后也可以配置不采用ZK
2. 生产者
3. broker
- broker 服务器redis01 redis02 redis03
- topic 主题 对数据分类
- 分区
- 可靠性
- leader fllower
- 生产者和消费者 只针对leader操作
4. 消费者
- 消费者和消费者相互对立
- 消费者组,某个分区只能由一个消费者消费
4. Zookeeper
- broker.ids 0,1,2,
- leader