2017-11-21 6 views
0

Uusing Spring Kafka org.springframework.kafka.listener.ConcurrentMessageListenerContainerは、トピック内のパーティション数とContainerPropertiesに基づいて複数のリスナーを作成します。 javadocには、「同じパーティション内のメッセージは順次処理されます」と表示されます。したがって、パーティションが1つしかなく、並行性が10と設定されている場合、何が起こるでしょうか?並行性はありません。またはメッセージは10人のリスナーに配布されますが、順序が乱れますか?1つのパーティションでカフカトピックの同時メッセージリスナーを作成する方法

+0

サンプルグループIDのある10人の消費者が存在し、トピックに1つのパーティションがある場合、10人の消費者のうち1人だけがメッセージを受け取り、残りのユーザーがアイドル状態になると思います。私の理解は正しいのですか? – user3366706

+1

それは正しいです。 1つのコンシューマインスタンスだけが単一のパーティションから消費できます。並行性はパーティションの数によって制限されます。 –

答えて

2

いいえ、ターゲットリスナーは1つだけです。 1つのパーティション - コンシューマ・グループごとに1つのプロセス。それはApache Kafkaの性質です。それは春のカフカ問題ではありません。

最近、そのパーティションからのメッセージを、リスナーの方法から並列化することができます(TaskExecutor)。しかし、それはすでにあなたのアプリケーションです。このフレームワークはあなたにとって何もしません。ちょうどターゲットカフカシステムの性質。

関連する問題