我们使用 Go 的 confluent kafka 包测试了具有 2 和 3 个消费者的消费者组(知道我们将来可能会有更多消费者)。
每个主题有 10 个分区,消息在所有消费者之间拆分。
每个主题有 5 个分区,但不知何故只有一个消费者获取消息。
知道为什么会出现这种行为吗?
最佳答案
您可以尝试使用此命令查看分区分配情况,并将结果添加到此处吗?
bin/kafka-consumer-groups.sh --bootstrap-server <your-broker-ip>:9092 --describe --group <your-consumer-group> --members --verbose
默认情况下,Kafka 使用范围分区方案,因此有时会出现意想不到的行为(例如,如果每个主题只有一个分区,并且有多个消费者,则只会将一个消费者分配给所有分区)。我不知道这在这里是否相关,但你可以看看 this发布更多详细信息。
关于go - 只有一个消费者获得 5 个分区的 kafka 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43717025/