kafka消费者重平衡是什么?怎么避免?

消费者重平衡是指主题下的分区怎么分配给消费者的过程。下面这个图可以看出该过程:原来有2个消费者,3个分区,其中一个消费者肯定就的处理2个分区了。那么当新加入消费者时,则每个消费者就只处理一个分区了。处理这个分区过程的叫协调者,协调者就在broker端。

当发生重平衡时,所有消费者都不能收到消息,所以发生这个过程是非常严肃的。

什么时候会发生重平衡?

  1. 新的消费者加入。
  2. 消费者主动离开。比如取消对主题的订阅。
  3. 消费者崩溃离开。比如网络延迟导致心跳一直没收到。
  4. 主题分区数发生变更。

怎么避免消费者重平衡?

有几个参数可以重点看下:

  1. session.timeout.ms=10 协调者超过10秒没有收到消费者的请求则认为消费者已经下线。
  2. heartbeat.interval.ms 心跳频率。消费者间隔多久发送心跳。
  3. max.poll.interval.ms 消费者两次调用poll的时间间隔,默认是5分钟。超过5分钟则认为上次拉去的消息一直没消费完成,也被认为需要重平衡。
  4. max.poll.records=500 默认单次最大拉取条数为500。如果一次拉取太多数据,会导致超时了还没处理完成。

主题有3个分区,那么消费者组员数应该也是3个才算合理的分配,多出的组员将无法分配消费分区是种浪费。消费者对应机器数最好是固定的,避免频繁加减节点带来的重平衡。

相关推荐
2501_941142139 分钟前
基于 Kotlin 构建移动端高并发后台服务与实时数据同步系统的架构设计与工程实践分享
kafka
Tadas-Gao27 分钟前
Spring Boot 4.0架构革新:构建更精简、更安全、更高效的Java应用
java·spring boot·分布式·微服务·云原生·架构·系统架构
西格电力科技3 小时前
分布式光伏 “四可” 装置:“发电孤岛” 到 “电网友好” 的关键跨越
分布式·科技·机器学习·能源
bigdata-rookie17 小时前
Spark 部署模式
大数据·分布式·spark
蒋士峰DBA修行之路19 小时前
实验二十二 GaussDB分布式场景调优
分布式·gaussdb
yumgpkpm20 小时前
数据可视化AI、BI工具,开源适配 Cloudera CMP 7.3(或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)值得推荐?
人工智能·hive·hadoop·信息可视化·kafka·开源·hbase
Zhao·o21 小时前
KafkaMQ采集指标日志
运维·中间件·kafka
青靴1 天前
轻量级 CI/CD 实战(三):Kafka消费者Docker容器化部署
分布式·docker·kafka
galaxyffang1 天前
RocketMQ 为什么性能不如 Kafka?
分布式·kafka·rocketmq
sheji34161 天前
【开题答辩全过程】以 基于Spark的药品库存可视化分析系统为例,包含答辩的问题和答案
大数据·分布式·spark