2

我有一个 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
4

1 回答 1

3

如confluent博客中所述

您的应用程序可以运行的最大并行度受流任务的最大数量限制,该最大数量本身由应用程序正在读取的输入主题的最大分区数决定。例如,如果您的输入主题有 5 个分区,那么您最多可以运行 5 个应用程序实例。

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

也看到这个

于 2019-10-16T07:48:14.197 回答