kafka consumer 源码分析(三)Consumer消费再均衡原理探究

开篇

在开始这篇之前,先抛出问题,这章主要通过研究consumer源码解决如下问题:

消费再均衡的原理是什么?

正文

消费再均衡的原理

主要分为四步

1.FIND_COORDINATOR

根据hash(group_id)%consumerOffsetPartitionNum查找出对应的partition,再查找出该partitiom对应的leader所在的broker,即可获得GroupCoordinator

2.JOIN_GROUP

在这一步主要完成消费组leader选举(获取第一个加入的组为leader,如果没有,选择map中的第一个node)和分区分配策略

3.SYNC_GROUP

客户端向GroupCoordinator发起同步请求,获取步骤2的分区分配方案。

4.HEARTBEAT

GroupCoordinator通过心跳来确定从属关系。

参考