Kafka的Coordinator与Rebalance

1、rebalance

在发生:
(1)一个新的消费者加入群组
(2)一个消费者被关闭或者崩溃离开group
(3)topic的partition数增加
会发生触发rebalance,分区的消费所有权会从一个消费者转移到另一个消费者上。

2、Group Coordinator

1、Group Coordinator本质上是broker,一个group对应一个Group Coordinator,就是对应_consumer__offset所在的partition的leader所在的broker。(_consumer__offset = Math.abs((GROUPID.hash() % 50)))
2、consumer通过发送心跳到Group Coordinator上维持和group的从属关系以及对分区消费的所有权。

3、Group leader

1、第一个加入group的consumer是这个Group的Group leader,所有Group leader的本质是一个consumer。
2、当发生rebalance时,Group leader能从Group Coordinator拿到最新活跃的consumer列表,并从consumer上报的分配策略中依据多数原则选择分配策略(共有两种分配策略RoundRobinAssignor与RangeAssignor),决定partition与consumer的归属关系。决定以后把这份分配信息发回给Group Coordinator,再由Group Coordinator发回给所有的consumer。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先定义什么是书评(官方答案):书评,即评论或介绍书籍的文章,是以“书”为对象,实事求是的、有见识的分析书籍的形式...
    牛牛牛牛牛魔王阅读 659评论 0 24
  • 孤独慢慢成为一种常态,但我已经能够欣然接受这般陪伴我的时光。 忙碌而无聊的聚集能带给我什么呢?没有内容的笑声终究过...
    hanlian0917阅读 199评论 0 0
  • 在微博看到这个话题 :月薪3500元买包花1.8万。 对于这个情况,我觉得是不会发生在我身上的。我是一个95后,但...
    大羊小姐姐阅读 84评论 0 1
  • 周四,若溪下午放学后直接去上中教课。回来时都七点多了。匆忙吃了晚饭,洗澡洗头,然后就开始写作业。 最近...
    宛若小溪阅读 218评论 0 0