我有一个web应用程序,它将消息放入Kafka主题中。这个应用程序有很多示例(200个),每个示例都包含自己的Kafka生产者。问题:每个主题的生产者数量是否存在上限?制片人的数量对Kafka的表现有影响吗?如果是,怎么做?生产商的最佳实践是什么?每个应用程序一个同步生产者,一个异步生产者,还是一个自定义的同步生产者池?
vof42yt11#
是否存在每个主题的生产者数量上限?我知道的唯一限制是可用ip地址的数量。您不太可能在所描述的应用程序中遇到任何实际限制。制作人数量对Kafka表演有影响吗?如果是,怎么做?不,所有其他条件相同(通信量、异步与同步(包括批量大小/时间限制)等)。大概有一些地方的连接开销,但它足够小,我从来没有设法注意到它。生产者最佳实践是什么(每个应用程序一个同步生产者、异步生产者或自定义同步生产者池)取决于你的用例,我不清楚。在大多数情况下,异步>同步。如果您选择使用异步,那么您必须处理在生产者上进行批处理的风险(即数据丢失),以及与为批处理/等待批处理超时触发建立足够的消息相关的延迟。如果您的用例要求足够高,那么这些延迟可能会非常严重。
1条答案
按热度按时间vof42yt11#
是否存在每个主题的生产者数量上限?
我知道的唯一限制是可用ip地址的数量。您不太可能在所描述的应用程序中遇到任何实际限制。
制作人数量对Kafka表演有影响吗?如果是,怎么做?
不,所有其他条件相同(通信量、异步与同步(包括批量大小/时间限制)等)。
大概有一些地方的连接开销,但它足够小,我从来没有设法注意到它。
生产者最佳实践是什么(每个应用程序一个同步生产者、异步生产者或自定义同步生产者池)
取决于你的用例,我不清楚。在大多数情况下,异步>同步。如果您选择使用异步,那么您必须处理在生产者上进行批处理的风险(即数据丢失),以及与为批处理/等待批处理超时触发建立足够的消息相关的延迟。如果您的用例要求足够高,那么这些延迟可能会非常严重。