Golang Segmentio 在消费者组迁移时获取半分区

问题描述 投票:0回答:1

我正在使用

github.com/segmentio/kafka-go
lib。
我的服务托管在 Kubernetes 集群上,我的用例是,我有一个名为 C1 的消费者组,它正在使用来自具有 70 分区的主题 T1 的消息。我已获取消费者 C1 对于所有 70 个分区的主题 T1 的最新提交偏移量。

现在我创建了一个新的、动态的消费者组,例如 C2。因此,根据我的方法,我已经为所有 70 个分区提交了偏移量,现在我将为新消费者组(即 C2)的特定 pod 获取分配的分区,并根据旧消费者进行查找并设置分配的分区的偏移量C1.

因此,我使用

group.Next()
来获取生成,并从中获取为 C2 的特定 Pod 分配的分区。但这里我只得到一半的分区,即 35 个分区

这个问题有解决办法吗?

新的消费者组,即 C2 应该返回所有 70 个分区作为该特定主题 T1 的分配分区。

go apache-kafka kafka-consumer-api segment-io
1个回答
0
投票

你显示的代码很少,所以很难说。

对于 Kafka 而言,如果组具有相同的 ID,则它们被视为同一组。因此,您可能有两个 客户 C1C2 在同一组中。

您所看到的将是由新客户加入该群组而重新平衡触发的效果。

© www.soinside.com 2019 - 2024. All rights reserved.