【问题标题】:Only one consumer gets kafka messages with 5 partitions只有一个消费者获得 5 个分区的 kafka 消息
【发布时间】:2018-09-27 14:27:02
【问题描述】:

我们使用 Go 的 confluent kafka 包测试了具有 2 个和 3 个消费者的消费者组(知道我们将来可能会有更多消费者)。

每个主题有 10 个分区,消息在所有消费者之间拆分。

每个主题有 5 个分区,不知何故只有一个消费者获得消息。

知道为什么会出现这种行为吗?

【问题讨论】:

  • 消息是否均匀分布在各个分区?
  • 我如何检查这个?从我的日志看是这样的
  • 如何设置消息?您的消息是否有键集,或者它只是值&
  • @streetturtle:不,我们不使用密钥集。
  • 您可以通过将debug属性设置为cgrp来调试分配过程

标签: go apache-kafka confluent-platform


【解决方案1】:

您可以尝试使用此命令查看分区分配,并在此处添加结果吗? bin/kafka-consumer-groups.sh --bootstrap-server <your-broker-ip>:9092 --describe --group <your-consumer-group> --members --verbose

默认情况下,Kafka 使用范围分区方案,因此有时会出现意外行为(例如,如果您每个主题只有一个分区,并且有多个消费者,那么所有分区只会分配一个消费者)。我不知道这是否与此处相关,但您可以查看this 帖子以获取更多详细信息。

【讨论】:

  • 老实说,我们放弃了 kafka 并最终使用了 nats。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 2022-06-13
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
相关资源
最近更新 更多