Kafka之Consumer Group的重平衡Rebalance

本文详细介绍了Kafka Consumer Group的重平衡(Rebalance)过程,包括其概念、消费者如何确定协调者、Rebalance的弊端、触发条件及如何优化避免不必要的Rebalance。Rebalance对消费者吞吐量造成影响,可能导致STW并影响消费效率。通过理解Rebalance的工作原理,可以更好地管理和优化Kafka集群的性能。
摘要由CSDN通过智能技术生成

Kafka之Consumer Group的重平衡Rebalance

1.何为Rebalance

Rebalance就是一个完整的Consumer Group中的consumer实例在Broker中协调者的帮助下,就如何消费订阅topic分区达成共识的过程。

整个Rebalance的过程类似于JAVA中full GC的过程,需要stop the world,在rebalance的过程中,消费者是无法进行消息消费的,十分影响消费者的吞吐量。

这里的协调者即coordinator,每个broker都有一个coordinate组件,并且伴随着broker启动而被创建,它主要负责接收consumer提交的消费位移,然后转交给broker,同时也负责consumer的注册、成员管理记录等元数据的管理操作。

2.consumer如何确定管理自己的cordinate在哪个broker

实际上这个问题就是确定consumer的提交的数据属于哪个位移topic的分区。

主要是分为以下两个步骤:

第 1 步:确定由位移主题的哪个分区来保存该 Group 数据:partitionId=Math.abs(groupId.hashCode() % offsetsTopicPartitionCount)。

第 2 步:找出该分区 Leader 副本所在的 Broker,该 Broker 即为对应的 Coordinator。

3.Rebalance的弊端

开始提到了rebalance有点类似于java中的fu

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值