go - 只有一个消费者获得 5 个分区的 kafka 消息

标签 go apache-kafka confluent-platform

我们使用 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/

相关文章:

apache-kafka - 带有选择器的 Apache Kafka 客户端?

apache-kafka - 在 Kafka 上实现事件溯源架构

jdbc - 如何使用融合属性中可用的转换方法将主题名称转换为较小的大小写

elasticsearch - Elastic Sink Connector 无法正常工作新版本

go - 修复 "should not use basic type string as key in context.WithValue"golint

go - blevesearch 如何对结果进行分页?

go - 哪些 Kubernetes client-go 方法对于并发调用是安全的?

heroku - 如何使用子目录中的主包将 Go 应用程序部署到 Heroku?

mongodb - Kafka -> Flink 数据流 -> MongoDB

apache-kafka - 高级消费者上的 commitOffsets 是否会阻塞?