Kafka 消费者组重平衡(Rebalance)

本文详细介绍了Kafka消费者组的重平衡过程,包括触发条件、分区分配策略和Rebalance流程。重点关注了当组内成员变化时的场景,并讨论了可能导致大量日志切分的日志问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kafka Consumer

Reblance

消费者组的重平衡就组内的消费者,对消费那些主题分区达成一致的过程,Kafka会尽量保证分配的均匀。

consumer group 的rebalance 本质上是一组协议,它规定了一个conusmer group 是如何达成一致来订阅分配
topic的所有分区的。只有consumer group有rebalance ,standalone consumer是没有rebalance的,standalone
consumer 只是通过coordinator获取到消费的位移。

1.Rebalance 什么时候触发
  • 组内成员发生变化
  • 订阅主题分区数发生变化
  • 订阅主题发生变化

2和3一般都会是运维的操作,我们只需要关注第一种rebalance的场景就可以了。真实场景下,rebalance 的触发场景经常就是第一种,consumer正常情况下也是会触发rebalance 这种场景就是,处理消息的逻辑时间太久,超过了我们设置的最大的处理消息时间,这个时候根据自己的业务评估,设置合理的处理消息最大事件,避免不必要的rebalance。

Rebalance 分区分配

consume 默认提供三种分区策略 range策略、 策略和sticky策略。如右图所示rang 策略不会去管之前的分区策略,只会重新分成几个区域后进行分配,round-robin也是直接轮询到消费者组的consuner上。sticky则不同假设第三台机器挂掉前两台机器的分配策略不变,仅仅把挂掉的那台机器消费的分区负载到存活的consumer上即

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值