目录
- 一、Kafka中Broker总体工作流程图解
- 二、Kafka中Broker总体工作流程步骤解析
一、Kafka中Broker总体工作流程图解
- 总体工作流程图解
二、Kafka中Broker总体工作流程步骤解析
-
1、broker启动后在zk中注册,如下图所示:
-
2、controller谁先注册,谁就会成为leader,如下图中如果broler0中controller先注册,即broler0中controller会成为leader。
-
3、由选举出来的Controller监听brokers节点变化
-
4、Controller决定Leader选举。选举规则:在isr中存活为前提,按照AR(即Kafka分区中的所有副本统称)中排在前面的优先。例如ar[1,0,2], isr [1,0,2],那么leader就会按照1,0,2的顺序轮询
-
5、Controller将节点信息上传到ZK
-
6、其他contorller从zk同步相关信息
-
7、生产者往集群发送信息,fllower主动跟leader同步消息,并在底层采用log方式存储
-
8、假设Broker1中Leader挂了
8.1、Controller监听到节点变化
8.2、获取ISR
8.3、 选举新的Leader(在isr中存活为前提,按照AR中排在前面的优先)
8.4、更新Leader及ISR