我是新手,可以在下面的 github 存储库中看到一个只有一个消费者的示例,但是有什么想法可以在 go lang 中为同一主题创建多个消费者吗?
https://github.com/confluentinc/confluent-kafka-go/tree/master/examples
confluent-kafka 中是否有任何消费者工厂(生成 N 个消费者)可以读取相同的主题(带分区)?
最佳答案
Confluent github repo 中有一个示例:
如果要为同一个主题创建多个消费者,有两种场景:
1.用不同的group id创建每个consumer。
c1, err := kafka.NewConsumer(&kafka.ConfigMap{
"bootstrap.servers": broker,
"group.id": group1,
"session.timeout.ms": 6000,
"default.topic.config": kafka.ConfigMap{"auto.offset.reset": "earliest"}})
c2, err := kafka.NewConsumer(&kafka.ConfigMap{
"bootstrap.servers": broker,
"group.id": group2,
"session.timeout.ms": 6000,
"default.topic.config": kafka.ConfigMap{"auto.offset.reset": "earliest"}})
- 如果您希望多个消费者使用相同的主题但具有相同的组 ID,它将从单个分区开始消费。即一个主题包含 3 个分区,您创建 3 个具有相同组 ID 的消费者,每个消费者将从一个分区中消费
关于go - 在kafka中为同一主题创建多个消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52485463/