代码之家  ›  专栏  ›  技术社区  ›  Shubham Snehi

Golang Segmentation在消费者组迁移时获得一半分区

  •  0
  • Shubham Snehi  · 技术社区  · 1 年前

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

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

    所以我使用 group.Next() 为了获取生成,我从中获取特定pod的分配分区 C2 。但在这里,我只得到了一半的分区,即。 35个分区 .

    对此有任何解决方案吗?

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

    0 回复  |  直到 1 年前
        1
  •  0
  •   eik    1 年前

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

    如果组具有相同的ID,则就Kafka而言,它们被视为同一组。所以,你可能有两个 客户 C1 C2 在同一组。

    你所看到的将是 rebalancing triggered 一位新客户加入了该集团。