流线程计算

时间:2018-08-20 16:06:04

标签: apache-kafka-streams

我正在使用Stream DSL。我有分区17、100、40的三个源主题。 我将运行三个实例和两个备用实例。

如何计算需要多少个流线程,以便每个线程恰好可以完成一项任务或实现最高并行度?

2 个答案:

答案 0 :(得分:1)

这取决于您的应用程序的结构。您可以使用一个线程运行该应用程序,并观察创建的任务数。任务数是您可以使用的最大线程数。

创建的任务被记录下来,或者您可以通过KafkaStream#localThreadMetadata()获得它们。

答案 1 :(得分:0)

我将在此处尝试讨论一种方法

您正在要求最大的并行度

  • 这可以通过将每个主题分隔开来实现 拓扑
  • 每个拓扑具有独立的线程数(每个线程一个线程) 每个主题的使用者)-17 / 3、100 / 3、40 / 3-主题分区/实例
  • 这将确保每个拓扑都获得单独的线程数和 单独的并行性
  • 每个拓扑将充当单独的使用者 组