目录
- 一、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
