kafka的再均衡策略

Kafka的消费者组Rebalance是当组内成员变化或主题/分区改变时,重新分配分区的过程。此过程可能导致服务短暂中断,因为它会使所有实例停止消费直到Rebalance完成。为了优化,我们需要尽量减少Rebalance的发生。本文将探讨Rebalance的工作原理及其问题。
摘要由CSDN通过智能技术生成

定义

Rebalance本质上是一种协议,规定了一个Consumer Group下的所有Consumer如何达成一致,来分配订阅Topic的每个分区。例如:某个Group下有20个Consumer实例,它订阅了一个有100个分区的Topic。正常情况下,kafka会给每个实例分配5个分区。这个分配的过程叫做Rebalance。
  rebalance发生时,Group下的所有Consumer实例都会协调在一起共同参与。具体怎么分配,是有分配策略协助的。分配策略以后再总结。

触发条件

组成员数发生变化。比如有实例进入或者离开组。
订阅的主题数发生变更。
订阅主题的分区数发生变更。

问题

rebalance有一个比较大的问题。那就是再Rebalance过程中,所有的实例都会停止消费,等Rebalance完成。这就导致Rebalance过程中无法提供服务。而且,Rebalance的过程还很慢。所以我们要尽量避免Rebalance的发生。 stop the world

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值