我是 Golang 的新手,我需要编写将事件发布到 kafka 的应用程序,我找不到以下问题的答案:我需要多少个 sarama.SyncProducer?在所有应用程序中使用一个可以吗?我应该有某种生产者池吗?
3 回答
![?](http://img1.sycdn.imooc.com/54584e2c00010a2c02200220-100-100.jpg)
撒科打诨
TA贡献1934条经验 获得超2个赞
除非您以比发布者可以发布它的速度高得多的速度发布数据(?),否则鉴于 sarama 发布者是异步和并发的,我会说您不需要多个发布者。所以直接回答你的问题:
在不知道您的要求的情况下,我会选择一个。
是的。我想它更有可能需要一群消费者,当然,消息发布率很高。
![?](http://img1.sycdn.imooc.com/5333a1bc00014e8302000200-100-100.jpg)
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
这取决于您的应用程序的工作方式。在大多数情况下,一个生产者就足够了。
是的,那很好。您可以将生产者视为应用程序的出口。
但是,您应该使用异步生产者。如果我没记错的话,Sarama 是异步的。
![?](http://img1.sycdn.imooc.com/54584dd900014f6c02200220-100-100.jpg)
红颜莎娜
TA贡献1842条经验 获得超12个赞
SyncProducer
或者AsyncProducer
返回一个生产者结构,连接到 sarama.Config 中定义的代理。
我需要多少个 sarama.SyncProducer?
您只需要一个具有初始化配置的生产者结构即可设置为多个代理。
在所有应用程序中使用一个可以吗?我应该有某种生产者池吗?
没有什么比一个生产者可以在所有应用程序中使用更好的了。唯一的问题是您可以使用相同的配置连接到相同的代理。因为如果有不同的应用程序,您需要创建一个具有相似配置的新生产者。
- 3 回答
- 0 关注
- 171 浏览
添加回答
举报
0/150
提交
取消