Kafka Streams-具有相同应用程序ID的多个线程或多个实例

时间:2019-10-16 06:13:53

标签: apache-kafka kafka-consumer-api apache-kafka-streams node-kafka-streams

我有一个Kafka Streams应用程序,该应用程序从主题“ A”中使用,具有10个分区,每秒约有10k条消息。我对什么对我的应用程序更好感到困惑。

To run multiple Kafka Streams application instances with same consumer group.
  OR 
To run single kafka streams application with more num.stream.threads

1 个答案:

答案 0 :(得分:1)

如合集blog

中所述
  

您的应用程序可以运行的最大并行度是有界的   由流任务的最大数量决定,该数量本身由   应用程序的输入主题的最大分区数   阅读。例如,如果您的输入主题有5个分区,则   您最多可以运行5个应用程序实例。

因此,当您运行10个应用程序实例或具有10个线程的单个流应用程序处理消息时,没有任何区别。除了运行10个应用程序实例外,您都可以在分布于不同计算机上的不同JVM上运行它,这有助于提高吞吐量。

另请参见this