kafka leader选举过程浅析

文章目录

概要

kafka我们都知道它是通过副本机制,来支持负载均衡和故障转移等高可用的,那么具体副本的选举过程你了解吗?下面我们一起来学习下吧!

核心概念

  • Controller定义:是特殊的节点,是集群众负责管理和资源调度的Broker节点,当集群中所有Broker节点启动时,都会向zk创建controller目录,这个zk节点是"临时节点",第一个创建成功的broker,即 成为了"controller"节点。
  • Controller节点作用:负责监听broker,topic,partition的变更,获取他们的信息,partition的主从副本的选举。
  • ISR集合:与leader节点同步的follower节点,默认leader和follower的数据落后不能大于10s,否则就被剔除ISR集合。只有在ISR集合的Follower,才能作为选举主副本的候选人。

leader选举具体流程

  1. 当leader broker挂了,所有其他节点会监听到该节点watch事件变更,这些节点发起创建controller临时节点的请求到ZK,第一个创建成功的节点,成为controller节点,负责下面的partition的选举。
  2. controller 根据ISR集合中的Follwer数据,比如:ISR=[3,2,7],按照其集合中的顺序轮询选举leader,这里编号3的follwer被选举为leader,接下来会从zk中复制元数据信息到本地,开始管理其他follower节点。
  3. 下图简单描述了选举过程

小结

复制代码
总结下kafka的选举具体过程
Controller:负责选举
ISR:作为候选人集合
选举规则:候选人集合按照轮询策略选举
今天的文章就分享到这了,后续会继续更新的,欢迎大家一起交流和探讨,有不对的地方,请留言哈。
相关推荐
Devin~Y9 小时前
高并发电商与AI智能客服场景下的Java面试实战:从Spring Boot到RAG与向量数据库落地
java·spring boot·redis·elasticsearch·spring cloud·kafka·rag
小白学大数据11 小时前
Scrapy 分布式爬虫:大规模采集汽车之家电车评论
开发语言·分布式·爬虫·scrapy
仗剑_走天涯12 小时前
hadoop reduce阶段 对象重用问题
大数据·hadoop·分布式
电磁脑机13 小时前
无总线场同步:意识本质、AGI困境与脑机革命的核心理论重构
分布式·神经网络·架构·信号处理·agi
半桶水专家13 小时前
kafka数据删除策略详解
分布式·kafka
一个有温度的技术博主13 小时前
Lua语法进阶:函数封装与条件控制的艺术
redis·分布式·缓存·lua
无心水13 小时前
2、5分钟上手|PyPDF2 快速提取PDF文本
java·linux·分布式·后端·python·架构·pdf
Jackyzhe13 小时前
从零学习Kafka:位移与高水位
分布式·学习·kafka
roman_日积跬步-终至千里13 小时前
【系统架构师-案例题-分布式数据缓存架构】22年下(3)分布式仓储货物管理系统
分布式·缓存·系统架构
鬼先生_sir14 小时前
SpringCloud-Stream + RocketMQ/Kafka
spring cloud·kafka·rocketmq·stream