标签: 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
答案 0 :(得分:1)
如合集blog
您的应用程序可以运行的最大并行度是有界的 由流任务的最大数量决定,该数量本身由 应用程序的输入主题的最大分区数 阅读。例如,如果您的输入主题有5个分区,则 您最多可以运行5个应用程序实例。
因此,当您运行10个应用程序实例或具有10个线程的单个流应用程序处理消息时,没有任何区别。除了运行10个应用程序实例外,您都可以在分布于不同计算机上的不同JVM上运行它,这有助于提高吞吐量。
另请参见this