问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

深入理解Kafka(十二) rebalance原理

发布网友 发布时间:2022-10-18 05:42

我来回答

1个回答

热心网友 时间:2023-11-08 12:08

下面我们来介绍下Kafka rebalance的原理。kafka的consumer group有多个consumer实例,这些consumer实例是怎么分配topic分区的呢,这就需要kafka rebalance来实现这个功能。rebalance是怎么触发的,有3个条件,可以触发kafka的rebalance流程。
1.组成员发生变更。当有新的consumer加入组,或者已有consumer崩溃时则触发rebalance流程。
2.组订阅的topic数发生变更。当consumer group订阅了新的topic时,也会触发rebalance流程。
3.组订阅的topic的分区数发生变更。当consumer group订阅的topic的分区数变更时,也会触发rebalance流程。
最多的情况就是第一个条件发生时,比如consumer实例崩溃,或者设置的consumer参数request.timeout.ms,max.poll.records和max.poll.interval.ms不合理时,则会触发rebalance流程。
rebalance分区分配时,使用的是rebalance协议,下面介绍一下这个协议。kafka提供了5个协议来处理rebalance操作。
JoinGroup请求: consumer请求加入组。
SyncGroup请求: group leader把分配方案同步更新到组内所有成员中。
LeaveGroup请求: consumer即将离开组的请求。
DescribeGroup请求: 查看组的所有成员信息,包括成员信息,协议信息,分配方案以及订阅信息等。
Heartbeat请求: consumer发送心跳请求。
consumer group在执行rebalance之前必须确定coordinator所在的broker,并创建与该broker通信的连接。成功连接coordinator之后就可以执行rebalance操作。目前rebalance主要分为两步:加入组和同步更新分配方案。
加入组:这一步中组内所有consumer向coordinator发送JoinGroup请求。当所有JoinGroup请求都发送完成后,coordinator会从中选择一个consumer成为group的leader,并把所有成员信息以及它们的订阅信息发送给leader。
同步更新分配方案。这一步中leader开始制定分配方案,即根据分配策略决定每个consumer都负责哪些topic分区。一旦分配完成,leader会把这个分配方案放入到SyncGroup请求并发送给coordinator。而coordinator接收到分配方案后把属于每个consumer的方案放入SyncGroup请求的response返回给consumer。
发送SyncGroup请求会同步每个consumer的状态信息,在所有成员都接受到SyncGroup的response后,每个成员按照coordinator的方案进行工作。
consumer group的分配方案是在consumer端执行的。这样即使以后分区策略发生了变更,也只需要重启consumer实例即可,不需要重启kafka broker。
到这里,我们介绍了kafka rebalance的原理,kafka rebalance的原理我们就讲到这里了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
王卡专属免流包是什么意思 腾讯王卡专属流量是什么意思 人防临空墙排烟机房可以留洞吗? 瑞士转机的问题? 雅阁、第九代凯美瑞、迈腾,大空间的中级车推荐 云顶之弈双人排位介绍 金铲铲之战 金铲铲段位相差多少可以一起打? 现在上海办理居住证需要本人去吗 34周加5天是几个月 孕34周是几个月了 孕34周如何预防早产 老横召村部到张堰镇坐什么车 云南人社12333手机app下载 做可乐鸡翅要不要放盐 何谓上证指数日K线图和深证成指K线图 i7 3770K的PConline 横评 眼睛400度可以通过手术恢复吗? 近视400度手术能恢复吗 400度近视可以做手术恢复吗 和老婆开了个面馆,每天纯收入大概在250元到400元之间,每天工作14小时,太累了,该不该坚持?? 我是开小面馆的,每天的工作是早5.40起床,一直干到晚上的10点,基本设有休息的时间,儿子21了, 电从哪里来的 打算创业开一家面馆,谁能说说自己的面馆创业经历啊 D332列车停运没 g179列车在济南哪一站停车是在老火车站吗 从北京到青岛火车票多上钱?几个小时? 为什么192.168.1.1设置页面打不开,怎么打开 明知做戏歌词 明知做戏是哪个女歌手唱的 从北京到怀柔山吧? 山吧 桥梓镇店怎么样 想知道: 北京市 青龙峡山吧 在哪 Kafka重平衡机制 司马炎见过司马懿吗 台风影响航班会提前通知吗 白色预警严重吗 已婚女人梦见两头黑牛 duangdang,allin.翻译! 福鼎白茶分类等级 福鼎白茶分类等级是什么 行政复议申请书范文怎么写 请问如何写行政复议申请书内容有哪些 “正部级央企”只有3家,资产都超过万亿,副部级央企有多少家? 人身损害赔偿原则是什么? ? 人身损害赔偿的归责原则是什么 人身损害的赔偿责任如何分 宁夏高考成绩查询的报告编号帐号密码是什么 长下划线怎么输入 长下划线如何输入 3号台风暹芭何时生成 3号台风暹芭什么时候生成 台风暹芭什么时候登陆 2022年3号台风暹芭什么时候生成 什么是python语言的及其应用领%