次の ActiveMQ 接続文字列があるとします。
フェールオーバー:(tcp://broker1:61616,tcp://broker2:61616)?randomize=true
この構成を持つJavaプロデューサーからブローカーに数千のリクエストを送信しています。
ときどき、すべてのメッセージが 1 つのブローカーだけに送られ、もう 1 つのブローカーはメッセージを 1 つも受信しないことに気付きました。
これは正常な動作ですか?
10回のテストのうち、私はこの動作に数回気付いたかもしれません. また、両方のブローカーがメッセージを受信した場合もあります。
randomize=true のしくみ
http://activemq.apache.org/failover-transport-reference.htmlで見つけた唯一の説明は、「ランダムなアルゴリズムを使用して、提供されたリストから再接続に使用する URI を選択する」です。