0

I in kafka StromEinstellen unterschiedlicher Threads für verschiedene Operationen innerhalb Kafka Bäche

folgende Topologie definiert habe
Operation 1 : input_stream ----> filter ----> window_processing ----> write_to_topic 
Operation 2 : input_stream ----> write_to_topic 

Ich habe beobachtet, dass die beiden Operationen, die von demselben Thread ausgeführt werden (auch wenn I StreamsConfig.NUM_STREAM_THREADS_CONFIG Faktor zum Einfädeln erhöhen). Aber jetzt möchte ich, dass sie von verschiedenen Threads verarbeitet werden, da Operation 1 langsamer wird Operation 2. Gibt es einen Weg, wie ich verschiedene Threads für verschiedene Operationen einstellen kann. Wie im obigen Fall Operation 1 blockiert und verlangsamt Operation 2.

Antwort

0

Kafka-Streams werden über Partitionen und Sub-Topologien/Tasks parallelisiert. In Ihrem Fall gibt es nur eine Untertopologie und Sie können daher nur über Partitionen parallelisieren. Daher können Sie so viele Threads ausführen, wie Sie Themenpartitionen parallel eingegeben haben, und jeder Thread hat eine Partition bearbeitet (oder mehrere Partitionen haben weniger Threads als Partitionen).

Wenn Sie wirklich beide "Operationszweige" in einen unabhängigen Thread aufteilen möchten, müssen Sie zwei Anwendungen statt einer schreiben.

Verwandte Themen