【问题标题】:KafkaStreams applicationsKafkaStreams 应用程序
【发布时间】:2018-05-19 09:08:21
【问题描述】:

我分别运行两个 kafka 流应用程序,每个应用程序都在不同的 JVM 实例中,它们工作正常。一旦我在同一个 JVM 实例中运行应用程序,第二个应用程序就无法工作(既不消耗也不产生数据)。在同一个 JVM 实例中运行两个单独的应用程序是否有任何限制?卡夫卡消费者也会发生这种情况吗?

【问题讨论】:

    标签: stream apache-kafka apache-kafka-streams


    【解决方案1】:

    将多个KafkaStreams 实例放入同一个JVM 应该可以。但是在一个实例中增加线程数可能会更容易。

    注意:您可以利用的所有实例的线程数受输入主题的输入分区数的限制(这不是很准确,但一个很好的经验法则)。您的输入主题中是否有足够的分区?您是否看到某些分区未分配给未处理的实例?

    另请注意,Kafka Stream 每个线程并行化——这意味着,如果您有 2 个实例,每个实例有 2 个线程,并且只有 2 个输入主题分区,则可能会发生两个分区都分配给一个实例的两个线程,而另一个实例的两个线程空闲。在运行时,我们只“看到”线程,不知道它们是在相同还是不同的KafkaStreams 实例中运行。

    【讨论】:

      猜你喜欢
      • 2018-07-13
      • 2019-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 2017-11-08
      • 2020-08-25
      相关资源
      最近更新 更多