0
나는 카프카의 토폴로지 다음과 같은 정의

Operation 1 : input_stream ----> filter ----> window_processing ----> write_to_topic 
Operation 2 : input_stream ----> write_to_topic 

나는 두 작업은 동일한 스레드 (내가 스레딩에 대한 StreamsConfig.NUM_STREAM_THREADS_CONFIG 요인을 증가하는 경우에도)에 의해 수행되고 있음을 관찰 스트림 스트리밍합니다. 하지만 이제는 Operation 1Operation 2으로 속도가 느려지면서 다른 스레드로 처리되기를 원합니다. 서로 다른 작업에 대해 서로 다른 스레드를 설정할 수있는 방법이 있습니까? 위의 경우와 마찬가지로 Operation 1이 (가) Operation 2을 차단하고 속도를 줄입니다.

답변

0

카프카 스트림은 파티션 및 하위 토폴로지/작업을 통해 병렬 처리됩니다. 귀하의 경우에는 하위 토폴로지가 하나뿐이므로 파티션을 통해 병렬화 할 수 있습니다. 따라서, 토픽 파티션을 병렬로 입력하고 각 스레드가 하나의 파티션을 처리 한만큼의 스레드를 실행할 수 있습니다 (또는 다중 파티션은 파티션보다 스레드가 적음).

"작업 분기"를 독립적 인 스레드로 분리하려는 경우 하나가 아닌 두 개의 응용 프로그램을 작성해야합니다.