kafka的rebalance机制

news/2024/10/31 1:28:41/

1.什么是rebalance

再平衡:Reblance是一种协议,规定了一个Consumer
Group下所有Consumer如何达成一致,来分配订阅Topic的每个分区,尽量让每个消费者分配到相对均匀的分区,使Consumer的资源都能得到充分利用,防止有些Consumer比较忙,有的Consumer比较闲。

2.Reblance触发的时机

当kafka感知到存在让分区和消费者分配不均匀的事情发生时,就会触发Reblance
1.消费者组消费的分区个数发生变化。
2.消费者组消费的主题个数发生变化。
3.消费者组内的消费者个数发生变化。

3.分区分配的策略

1.Range分配策略是指按照分区号的范围进行分区分配。
2.RoundRobin分配策略是指轮训每个分区,将分区逐个分配给消费者
3.StickyAssignor分区策略,又称为粘性分配,所谓的有粘性,是指每次 Rebalance 时,该策略会尽可能地保留之前的分配方案,尽量实现分区分配的最小变动,消费者连接这些分区所在 Broker 的 TCP 连接就可以继续用。

**协调者(Coordinator)**是broker进程中的一个组件,每一个broker都会有一个Coordinator,协调者的职责在于:服务ConsumerGroup,完成整个Reblance的过程,提供Consumer Group位移的管理,以及组内成员的管理。
消费者和定时向协调者发送心跳,当协调者发现某个消费者长时间没有发送心跳,那么协调者就会认为这个消费者挂了,把这个消费者从消费者组中剔除出去,然后在其他Consumer的心跳请求中回复 reblance_need,让每个消费者停止消息消费,并开启Reblance。当各个消费者收到reblance_need响应后,都会停止消息消费,并向协调者发送 SyncGroup请求,来询问分配给自己的分区信息

4.Reblance产生的影响

1.影响消费效率
因为发生Reblance时,所有消费者都会停止消费,比较影响消息消费效率
2.可能会产生消息重复消费

5.减少Reblance

1.session.timeout.ms(检查整个消费者死亡超时时间) session.timeout.ms >= 3 * heartbeat.interval.ms(心跳检查超时时间)
2.max.poll.interval.ms(消费者每次去kafka拉取数据最大间隔) 在业务中,该参数可以设置的长一些,但是也不要违背了该参数的初衷(kafka对消费者的一种优胜劣汰的优化机制,poll的慢导致消息堆积)


http://www.ppmy.cn/news/84146.html

相关文章

【阿里云】阿里云OSS对象存储— 开通OSS服务、搭建OSS环境、快速入门

目录 一、开通OSS服务 二、搭建OSS环境 1、创建Bucket存储空间 2. 创建文件夹上传图片 3. RAM 访问控制 三、快速入门 1.下载SDK 2.创建存储空间[可选] 3.上传图片 一、开通OSS服务 二、搭建OSS环境 1、创建Bucket存储空间 选择 Bucket列表,进行Bucket创建…

ArduPilot硬件AOCODARC H7DUAL配置文件讨论

ArduPilot硬件AOCODARC H7DUAL配置文件讨论 1. 源由2. 厂家配置3. 研读分析3.1 defaults.parm3.2 hwdef-bl.dat3.3 hwdef.dat 4. 参考资料5. 附录 - ArduPilot on Chibios6. 问题汇总问题1:Betaflight配置文件也没有对应的描述,该引脚用于什么用途&#…

win安装Nodejs

文章目录 1、安装环境2、安装步骤3、更换npm源为淘宝镜像4、更多node版本下载 1、安装环境 node.js下载官网: nodejs官网 点击选中图标下载即可: 2、安装步骤 1、双击安装包,一直点击next 2、点击change按钮,更换到自己的指定安装位置&…

品牌需要来看看这个UP主眼里的“她困境”

连续三次发布带货视频,但却仍然涨粉3w。 5月16日,时尚区UP主鹦鹉梨在B站发布作品《漫画胸能不能走出现实啊????》,视频中UP主指出现在女性在生活中的一大困境,当下互联网上的审美一…

威胁情报相关站点(大量IOC)

【天际友盟】 https://redqueen.tj-un.com/IntelHome.html 【MYIP】 https://myip.ms/browse/scam https://myip.ms/files/blacklist/general/latest_blacklist.txt https://www.lajiz.cn/wp-content/uploads/2020/04/20200501003259.txt https://github.com/NewBee119/Ti_C…

如何完善企业性能测试流程?详解测试计划编写与实现

目录 前言: 性能测试流程 性能测试计划 实例代码 总结 前言: 在现代技术领域中,性能测试是非常重要的一个流程。无论是应用程序、网站、数据库等,都需要经过严格的性能测试,以确保其能够在各种条件下保持稳定的性…

CMake之安装

目录 公共选项安装目标安装文件安装目录安装导出 公共选项 install有多个签名,这些签名公用的选项有以下: DESTINATION:指定文件要安装的目录,可以是相对路径或绝对路径。 相对路径:会使用 CMAKE_INSTALL_PREFIX 作为…

优质财务共享产品的十大特征

特征一:中台化应用 多业务系统数据源,包括交易平台、业务云、其他来源加全面事项库,综合实现能力复用、数据资源共享,为数据服务打基础。 特征二:多模式业务接入 统一业务数据采集入口、开放灵活的特性、支持多模式接…