登录
首页 >  Golang >  Go问答

在kafka中为同一主题创建多个消费者

来源:stackoverflow

时间:2024-04-17 17:00:37 190浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《在kafka中为同一主题创建多个消费者》,聊聊,我们一起来看看吧!

问题内容

我是新手,可以在下面的 github 存储库中看到一个包含一个消费者的示例,但是有什么想法如何在 go lang 中为同一主题创建多个消费者吗?

https://github.com/confluenceinc/confluence-kafka-go/tree/master/examples

confluence-kafka 中是否有任何消费者工厂(用于生成 N 个消费者)可以读取相同的主题(带分区)?


解决方案


confluence github 存储库中有一个示例:

https://github.com/confluentinc/confluent-kafka-go/blob/master/examples/consumer_example/consumer_example.go

如果要为同一个主题创建多个消费者,有两种情况:

1.为每个消费者创建不同的组id。

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"}})
  1. 如果您希望同一主题有多个消费者但具有相同的组 id,它将开始从单个分区进行消费。即一个主题包含 3 个分区,您创建 3 个具有相同组 id 的消费者,每个消费者将从一个分区进行消费

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《在kafka中为同一主题创建多个消费者》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>