2017-12-05 3 views
0

私は別々の2つのkafkaストリームアプリケーションを別々のJVMインスタンスにそれぞれ実行し、うまく動作しています。同じJVMインスタンスでアプリケーションを実行すると、2番目のアプリケーションは動作していません(データの消費もデータの生成もありません)。同じJVMインスタンス内で別々の2つのアプリケーションを実行する場合に制限はありますか?これはカフカの消費者にも起こりますか?KafkaStreamsアプリケーション

答えて

0

複数のKafkaStreamsインスタンスを同じJVMに入れることができます。しかし、1つのインスタンス内のスレッド数を増やす方が簡単かもしれません。

注:利用できるすべてのインスタンスのスレッド数は、入力トピックの入力パーティションの数によって制限されます(これは厳密ではありませんが、経験則としては厳密です)。入力トピックに十分なパーティションがありますか?一部のパーティションが処理されていないインスタンスに割り当てられていないことがわかりますか?

また、カフカストリームはスレッドごとに並列化します。つまり、スレッドが2つずつ2つのインスタンスがあり、入力トピックパーティションが2つだけの場合、両方のパーティションが1つのインスタンスの2つのスレッドに割り当てられますもう一方のインスタンスの2つのスレッドはアイドル状態です。実行時には、スレッドを「参照」し、同じまたは異なるKafkaStreamsインスタンス内でスレッドが実行されているかどうかはわかりません。

関連する問題