Gna*_*ana 17 apache-kafka kafka-consumer-api
我是卡夫卡的新手.我注意到在Consumer配置中有两个id.一个是group.id(强制性),第二个是consumer.id(非强制性).请告诉我为什么2 Ids和差异.
Ara*_*ram 20
消费者群体是Kafka抽象,支持点对点和发布/订阅消息传递.消费者可以group_1
通过将其设置group.id
为加入消费者群体(我们说)group_1
.消费者群体也是支持数据的并行消费的一种方式,即同一消费者群体的不同消费者从不同分区并行地消费数据.
除了group.id之外,每个消费者还使用Kafka经纪人识别自己consumer.id
.Kafka使用它来识别特定消费者组的当前ACTIVE消费者.
阅读此文档以获取更多详细信息
Jay*_*Jay 13
下图很好地描述了group.id
和之间的区别。consumer.id
在此示例中,我们有一个具有四个分区的主题、一个消费者组以及消费者组内的三个消费者。消费者 0 和消费者 2 分别从一个分区读取,而消费者 1 从两个分区读取。
等于。group.id
Consumer group
您group.id
始终代表 Kafka 集群中消费者组的唯一名称/ID。一个消费者组可以有一个或多个消费者,但只有与主题中可用的分区一样多的消费者。
这里我们有四个分区,三个消费者加入了消费者组:消费者 0、消费者 1 和消费者 2。消费者的每个 ID(或名称)代表consumer.id
. 我们最多可以有四个消费者(即consumer.id
s),因为主题有四个分区。
consumer.id
每个消费者在其消费群体中都有独特的。如果您没有定义consumer.id
,Kafka 客户端(Java、Python、Node.js 等)通常会选择一个随机 ID。
group.id
理解和之间关系的另一个很好的例子consumer.id
是下图:
主题 T1 有四个分区,存在两个消费者组:组 1 和组 2。组 1 拥有 4 个消费者(已满),而组 2 拥有两个消费者(还有 2 个消费者的空间)。第 2 组中的两个消费者分别从两个分区中读取数据。在第 1 组中,每个消费者仅从一个分区读取数据。
这是一个很好的例子,展示了为什么我们不能有两个或多个group.id
同名的消费者组。如果 Kafka 允许组具有相同的名称,则分区的偏移量跟踪将会失控,因为组 1 中的消费者将覆盖组 2 中的消费者的偏移量(反之亦然)。
归档时间: |
|
查看次数: |
28577 次 |
最近记录: |