go - 使用 kafka-go 计划在 Kafka 中创建消费者

标签 go apache-kafka kafka-consumer-api

我是 kafka 的新手,目前正在研究它。我在 golang 中使用 kafka-go 来创建生产者和消费者。目前我能够创建一个生产者,但我希望一旦创建了一个主题的生产者而不是每次都创建消费者。意味着对于每个主题,只创建一次消费者。此外,当需要为主题创建更多消费者以平衡负载时,它会被创建。有没有办法通过 goroutines 或 Faktory 来安排它?

最佳答案

你不应该有耦合的生产者/消费者,Kafka 让你有完全解耦的生产者/消费者。

即使主题不存在,您也可以运行您的消费者(Kafka 将创建它,您只会收到一个领导者不可用警告),并在您需要时运行您的生产者。

关于扩展,我们的想法是您创建尽可能多的分区,您可能希望扩展您的主题(以消费者数量为单位)。

这里是一些关于主题划分策略的读物: https://blog.newrelic.com/engineering/effective-strategies-kafka-topic-partitioning/

你在网上有很多关于这个的阅读 Material 。

亚尼克

关于go - 使用 kafka-go 计划在 Kafka 中创建消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57672407/

相关文章:

apache-zookeeper - 测试kafka消费者和生产者连接失败

apache-kafka - 使用 SSL 的 Kafka SASL/PLAIN 设置

apache-zookeeper - 卡夫卡 : Get broker host from ZooKeeper

apache-kafka - Kafka Consumer - 读取固定数量的消息

apache-kafka - 是否可以使用Kafka传输文件?

go - 将 Windows 64 (TDM-GCC-64) 上的 Go 交叉编译为 .linux 文件,但尽管 GOOS=linux 仍继续编译为 .exe 文件

json - 为非内置类型定义自定义解码

go - 如何确定程序是在 Go 中构建为 32 位还是 64 位?

Go:一个生产者多个消费者

java - 断开连接后自动删除kafka消费者组