美文网首页
kafka 的分区为什么只能绑定一个消费组的一个消费者

kafka 的分区为什么只能绑定一个消费组的一个消费者

作者: Gin_714d | 来源:发表于2018-11-30 11:36 被阅读0次

假设 kafka的分区可以绑定多个消费者。现在一个分区p1,数据分布如下,有两个消费者c1, c2。

例图

如果c1 已经消费了1-10,那么该分区的消费index 需要移动到10的位置。当c2希望消费10-20时,index再继续进行移动。

此时

  1. 假设broker对index进行维护。但是consumer 是进行pull操作的,拉取操作一般来说都是由拉取方提供index,数据方根据index 返回数据。如果由数据方维护index,会增加获取index 的通信开销。
  2. 假设consumer端进行多人的index维护,那么就得引入中心的概念,大家都在中心去获得当前的index,这会增加复杂性。
  3. 在consumer端维护单人index,可以方便的pull数据。牺牲了分区的分布式消费。由于可以有多个分区,权衡之下是较为合理的方案。

相关文章

网友评论

      本文标题:kafka 的分区为什么只能绑定一个消费组的一个消费者

      本文链接:https://www.haomeiwen.com/subject/ztwccqtx.html