1

Kafka トピックからメッセージを受信するための春のクラウド ストリーム アプリを作成しました。アプリをスケーリングすると、アプリ インスタンスの 1 つだけが Kafka トピックからメッセージを受信するように、コンシューマー グループをセットアップしようとしています。

以下は私の application.yml spring: cloud: stream: bindings: orderTopic: group: orderGroup destination: orderTopic kafka: binder: brokers: 192.168.61.21 defaultBrokerPort: 9092 zkNodes: 192.168.61.21 defaultZkPort: 2181 です。アプリをクラウド ファウンドリー (pcfdev) にデプロイし、アプリのインスタンス数を 2 に設定しました。注文を orderTopic トピックに送信すると、2 つのアプリ インスタンスのうちの 1 つだけが注文を受け取ることを期待しています。 、ただし、両方のアプリ インスタンスは、以下に示すように同じ順序を受け取ります 2016-05-10T16:33:46.42-0600 [APP/0] OUT Order Number 23 received. 2016-05-10T16:33:47.42-0600 [APP/1] OUT Order Number 24 received. 2016-05-10T16:33:47.42-0600 [APP/0] OUT Order Number 24 received. 2016-05-10T16:33:48.42-0600 [APP/1] OUT Order Number 25 received. 2016-05-10T16:33:48.42-0600 [APP/0] OUT Order Number 25 received. 2016-05-10T16:33:49.43-0600 [APP/1] OUT Order Number 26 received. 2016-05-10T16:33:49.43-0600 [APP/0] OUT Order Number 26 received.

助けてください

4

1 に答える 1

0

あなたがする必要があることへの参照はここにあります: http://docs.spring.io/spring-cloud-stream/docs/current-SNAPSHOT/reference/htmlsingle/#_instance_index_and_instance_count

Kafka バインダーは、パーティションをインスタンスに正しく割り当てるためにその情報を必要とします。

Spring Cloud Stream 1.1.0.M1 の取り組みの一環として、0.9 Kafka クライアントにアップグレードし、新しいインスタンスが追加されたときに自動的に (再) パーティション化する機能を提供します。

于 2016-05-10T23:10:59.533 に答える