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

我是 Golang 的新手,我需要编写将事件发布到 kafka 的应用程序,我找不到以下问题的答案:

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

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


慕尼黑5688855
浏览 172回答 3
3回答

撒科打诨

除非您以比发布者可以发布它的速度高得多的速度发布数据(?),否则鉴于 sarama 发布者是异步和并发的,我会说您不需要多个发布者。所以直接回答你的问题:在不知道您的要求的情况下,我会选择一个。是的。我想它更有可能需要一群消费者,当然,消息发布率很高。

素胚勾勒不出你

这取决于您的应用程序的工作方式。在大多数情况下,一个生产者就足够了。是的,那很好。您可以将生产者视为应用程序的出口。但是,您应该使用异步生产者。如果我没记错的话,Sarama 是异步的。

红颜莎娜

SyncProducer或者AsyncProducer返回一个生产者结构,连接到 sarama.Config 中定义的代理。我需要多少个 sarama.SyncProducer?您只需要一个具有初始化配置的生产者结构即可设置为多个代理。在所有应用程序中使用一个可以吗?我应该有某种生产者池吗?没有什么比一个生产者可以在所有应用程序中使用更好的了。唯一的问题是您可以使用相同的配置连接到相同的代理。因为如果有不同的应用程序,您需要创建一个具有相似配置的新生产者。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go