0

我已經定義以下在卡夫卡拓撲流設置不同的線程用於內卡夫卡不同操作行旅

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

回答

0

卡夫卡流通過分區和子拓撲/任務並行化。在你的情況下,只有一個子拓撲,因此你只能通過分區並行化。因此,您可以運行儘可能多的線程,因爲您可以並行輸入主題分區,並且每個線程處理一個分區(或者多個分區的線程少於分區)。

如果您確實想將兩個「操作分支」拆分爲獨立的線程,則需要編寫兩個應用程序而不是一個應用程序。

相關問題