2017-11-01 4 views
0

3ノードRabbit MQのセットアップがあります。実行時にすべてのキューが作成されています。Ribbit MQ ClusterのMaster Queue Nodeへの接続をSpring AMQPが常に保証する方法

私はその後、キューを反映していない特定のキューは考えNode1で作成され、私はそれを確実にする方法として、その後春AMQPクライアントを使用する場合は、ノード2とノード3

に存在しない場合ノード1で提供されていますQUEUE1は、それは常に他の方法は、任意のノード上で作成された各キューはに複製されますどこのすべてのHAモードを使用することですQUEUE1

rabbit:connection-factory id="connectionFactory" addresses="host1, host2, host3" username="username" password="password" 

にアクセスするために1をノードに接続します残りのノードも同様です。これにより、クライアントがいずれかのノードで接続するかどうかにかかわらず、HAと100%のメッセージ保証が保証されます。 しかし、そのAないことが望まOR GOOD SOLUTION

定義されている場合、私はノーHAポリシーあれば解決策を探しています。

答えて

0

the documentation about Queue Affinity and the LocalizedQueueConnectionFactoryを参照してください。

HAキュー用に設計されていますが、どのキューでも動作し、キューをホストするノードに接続できます(使用可能な場合)。

管理プラグインが必要です。 REST APIを使用して、どのノードがキューをホストしているかを判別します。

キューが耐久性があり、ホストノードが停止している場合は、missingQueuesFatalfalseに設定して、リスナーコンテナが引き続き試行を続けるようにします。欠落しているキューは、デフォルトでは致命的なものとして扱われ、コンテナは停止します。

関連する問題