我们使用 Go 的 confluent kafka 包测试了具有 2 个和 3 个消费者的消费者组(知道我们将来可能会有更多消费者)。
每个主题有 10 个分区,消息在所有消费者之间拆分。
每个主题有 5 个分区,不知何故只有一个消费者获得消息。
知道为什么会出现这种行为吗?
我们使用 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 使用范围分区方案,因此有时会出现意外行为(例如,如果您每个主题只有一个分区,并且有多个消费者,那么所有分区只会分配一个消费者)。我不知道这是否与此处相关,但您可以查看这篇文章以获取更多详细信息。