为了账号安全,请及时绑定邮箱和手机立即绑定

我的 Golang 应用程序中是否需要一个或多个 sarama.SyncProducer?

我的 Golang 应用程序中是否需要一个或多个 sarama.SyncProducer?

Go
慕尼黑5688855 2023-06-05 16:59:03
我是 Golang 的新手,我需要编写将事件发布到 kafka 的应用程序,我找不到以下问题的答案:我需要多少个 sarama.SyncProducer?在所有应用程序中使用一个可以吗?我应该有某种生产者池吗?
查看完整描述

3 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

除非您以比发布者可以发布它的速度高得多的速度发布数据(?),否则鉴于 sarama 发布者是异步和并发的,我会说您不需要多个发布者。所以直接回答你的问题:

  1. 在不知道您的要求的情况下,我会选择一个。

  2. 是的。我想它更有可能需要一群消费者,当然,消息发布率很高。


查看完整回答
反对 回复 2023-06-05
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

  1. 这取决于您的应用程序的工作方式。在大多数情况下,一个生产者就足够了。

  2. 是的,那很好。您可以将生产者视为应用程序的出口。

但是,您应该使用异步生产者。如果我没记错的话,Sarama 是异步的。


查看完整回答
反对 回复 2023-06-05
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

SyncProducer或者AsyncProducer返回一个生产者结构,连接到 sarama.Config 中定义的代理。

  1. 我需要多少个 sarama.SyncProducer?

您只需要一个具有初始化配置的生产者结构即可设置为多个代理。

  1. 在所有应用程序中使用一个可以吗?我应该有某种生产者池吗?

没有什么比一个生产者可以在所有应用程序中使用更好的了。唯一的问题是您可以使用相同的配置连接到相同的代理。因为如果有不同的应用程序,您需要创建一个具有相似配置的新生产者。


查看完整回答
反对 回复 2023-06-05
  • 3 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信