我可以使用多少个生产者来写入单个主题

Vit*_*men 5 apache-kafka

我有一个将消息放入 Kafka 主题的 Web 应用程序。这个应用程序有很多实例(200 个),每个实例都包含它自己的 Kafka Producer。

问题:

  1. 每个主题的生产者数量是否存在上限?
  2. Producer 的数量对 Kafka 的性能有影响吗?如果是,如何?
  3. 生产者的最佳实践是什么?每个应用程序一个同步生产者、一个异步生产者还是一个自定义的同步生产者池?

nel*_*nda 1

每个主题的生产者数量是否存在上限?

我知道的唯一限制是可用 IP 地址的数量。您不太可能在所描述的应用程序中遇到任何实际限制。

Producer数量对Kafka性能有影响吗?如果是,怎么办?

不,所有其他条件都相同(流量、异步与同步(包括批量大小/时间限制)等)。

大概在连接的某个地方有一些开销,但它足够小,我从来没有注意到它。

什么是生产者最佳实践(每个应用程序一个同步生产者、异步生产者或同步生产者的自定义池)

很大程度上取决于您的用例,我不清楚。大多数情况下,异步 > 同步。如果您选择使用异步,那么您必须应对生产者批处理的风险(即数据丢失),以及为批处理构建足够的消息/等待批处理超时触发相关的延迟。如果您的用例要求足够高,这些延迟可能会很严重。