Kafka Broker总体工作流程

上面是Zookeeper集群,下面是Kafka集群,两个集群通信:

1)每台Kafka Broker节点启动之后,都会向Zookeeper进行注册,告诉他,我开启了。Zookeeper注册0,1,2;三台Broker启动之后,在Zookeeper里的/brokers/ids/就会增加三个节点;

  1. 注册完毕之后,Zookeeper就会选择Controller节点,每台Kafka Broke里面都有一个Controller,谁会成为未来Leader选举的老大呢?controller谁先注册,谁说了算,他们争先抢占名额,谁抢到了,谁负责日后Leader选举,假设broker0中的Controller抢到了;

3)上任第一天,由选举出来的Controller 监听brokers节点变化,随后Controller决定Leader选举。先来解释一下AR,AR:Kafka分区中 的所有副本统称。选举规则:在isr中存活为前提,按 照AR中排在前面的优先。例如 ar1,0,2, isr 1,0,2,那么leader 就会按照1,0,2的顺序轮询;

  1. 假设现在选举出来Broker1为Leader,Controller将节点信息上传到ZK进行备份,告诉它我选了Broker1为Leader, isr 为1,0,2,(图中的5);

  2. 其他contorller从zk同步相关信息,这样如果Controller Leader挂了,他们随时准备上位;

6)生产者往集群里发送数据,Follower主动跟Leader同步信息,底层存储的是Segment,大小1G;

7)集群应答,假设Leader挂了,Controller就能够监控到节点变化,从Zookeeper获取ISR,重新选举,选举规则一致,选举新的Leader之后,更新Zookeeper中的信息(Leader及ISR)。

相关推荐
何以解忧,唯有..13 小时前
Redisson分布式锁实现原理深度解析
分布式
萧瑟余晖14 小时前
Java深入解析篇三十六之分布式系统详解
java·开发语言·分布式
cc复CC19 小时前
从零开始手写 Spark 03|RDD 的惰性流水线
分布式
cc复CC19 小时前
从零开始手写 Spark 02|数据流与延迟迭代
大数据·分布式
海兰19 小时前
【Kafka学习3】Apache Kafka 本地部署环境快速入门指南
学习·kafka·apache
七夜zippoe20 小时前
基于 DolphinDB 构建分布式集群:从节点配置到高可用部署的完整实践
分布式·集群·dolphindb·节点配置·高可用部署
渣渣盟21 小时前
Flink + Kafka 数据写入实战:从API调用到端到端一致性精讲
flink·kafka·linq
Acrellea21 小时前
并网验收难破局:分布式光伏如何攻克孤岛、逆流两大技术关卡
分布式
海兰21 小时前
【Kafka学习2】Apache Kafka 典型应用场景
学习·kafka·apache
heimeiyingwang21 小时前
【架构实战】消息队列选型与异步架构设计:从Kafka到RabbitMQ,一次聊透
架构·kafka·rabbitmq