Kakfa在同一节点上播放多个应用程序/流?

时间:2018-02-03 02:04:02

标签: apache-kafka apache-kafka-streams

希望这是一个快速简单的问题。现在我有一个应用程序在同一个流中有两个独特的任务。当整个应用程序运行时,分区在两个任务之间不平衡,这是一个问题,因为其中一个任务需要更多资源(内存/ CPU)

为了解决这个问题,我在我的应用程序中创建了两个具有不同流构建器的唯一流,并分别启动它们。通过这种方式设置,分区以我预期的方式平衡。

kafkaStreams0 = new KafkaStreams(kafkaStreamsBuilder0.build(), streamsProperties0)
kafkaStreams1 = new KafkaStreams(kafkaStreamsBuilder1.build(), streamsProperties1)

kafkaStreams0.start()
kafkaStreams1.start()

我在流属性中为每个提供了自己的应用程序ID。关于这一点似乎是一个黑客,但我找不到任何关于这是否是一个有效的解决方案的文档。

作为一个注释:我想避免将它们分成两个应用程序,因为我不想添加操作开销。

0 个答案:

没有答案