设置不同的线程用于内卡夫卡不同操作行旅
我已经定义以下在卡夫卡拓扑流设置不同的线程用于内卡夫卡不同操作行旅
Operation 1 : input_stream ----> filter ----> window_processing ----> write_to_topic Operation 2 : input_stream ----> write_to_topic
我观察到,这两个操作正在由同一线程(即使我增加线程StreamsConfig.NUM_STREAM_THREADS_CONFIG
因子)来执行。但是现在我希望他们能够通过不同的线程进行处理,因为Operation 1
正在减速Operation 2
。有没有办法为不同的操作设置不同的线程。如上面的情况Operation 1
正在阻止并放慢Operation 2
。
回答:
卡夫卡流通过分区和子拓扑/任务并行化。在你的情况下,只有一个子拓扑,因此你只能通过分区并行化。因此,您可以运行尽可能多的线程,因为您可以并行输入主题分区,并且每个线程处理一个分区(或者多个分区的线程少于分区)。
如果您确实想将两个“操作分支”拆分为独立的线程,则需要编写两个应用程序而不是一个应用程序。
以上是 设置不同的线程用于内卡夫卡不同操作行旅 的全部内容, 来源链接: utcz.com/qa/261799.html