1

java だけが activemq のフェイルオーバー プロトコルのサポートを提供できるのに、他の言語ではサポートできないのはなぜですか。私の疑問は、フェールオーバー プロトコルでfailover://(tcp://host1:61616,tcp://host2:61616)?randomize=falseも同様にクライアントが次のような内部 URL の 1 つを使用tcp://host1:61616し、ブローカーが呼び出しがフェールオーバー プロトコルを使用しているかどうかをどのように認識し、ブローカーが複製する必要があるかをどのように決定するかということです。メッセージ ?

4

2 に答える 2

2

failoverプロトコルはクライアント側の再接続ロジックのみを対象としており、AMQ ブローカーはクライアントがプロトコルを使用しているかどうかさえ認識していないことを理解してくださいfailover

AMQの公式ドキュメントから:

フェールオーバー トランスポート層は、他のトランスポートの上にロジックを再接続します。

フェールオーバー構成構文を使用すると、任意の数の複合 URI を指定できます。フェールオーバー トランスポートは、複合 URI の 1 つをランダムに選択し、それへの接続を確立しようとします。成功しなかった場合、またはその後失敗した場合は、リスト内の他の URI のいずれかに新しい接続が確立されます。

ここでのレプリケーションの意味はわかりませんが、公式ドキュメントによると

フェールオーバー トランスポートは、デフォルトでトランザクションを追跡します。進行中のトランザクションは、再接続時に再生されます。

于 2012-05-30T15:58:00.873 に答える