2011-08-12 9 views
4

私は以下のようなトポロジーを持つブローカーのネットワークを構成しました。アクティブMQ - ブローカーのネットワーク

  • プロデューサーブローカ(B2)に接続されたブローカ(B1)とプロデューサー(P2)に接続されている(P1)
  • ブローカ(B1)とブローカー(B2)は、ブローカーのネットワークとして接続され、
  • をバランスLAODれますブローカ(B1)と消費者(C2)に接続
  • コンシューマー(C1)

クライアントは、次のようにフェールオーバーを使用するように構成されているブローカ(B2)に接続された:

  • Consumer-1 =フェイルオーバー:tcp:// localhost:61616、tcp:// localhost:61615?randomize = false
  • コンシューマ2 =フェイルオーバー:tcp:// localhost:61615、tcp:// localhost:61616 ?randomize = false

チャネル2がダウンしてP2がフェールオーバーの望ましい動作であるチャネル1に移行すると、

Chaneel-2が復帰したときの動作を理解したいですか? Channel-2が復旧してチャネル間のロードバランシングが失われた後でも、接続をすべて に引き続き提供するのはChannel-1だけであることに気付きました。

Channel-2が戻ったら、チャネルとそれぞれのProducer-2、Consumers-2間でロードバランシングが自動的に開始され、Channel-2に移行し、フルロード・バランシングとフル・フェイルオーバーを実現します。

フォールトトレランスとロードバランシングを組み合わせるには、「フォールトトレランスとロードバランシングの併用」の http://fusesource.com/docs/broker/5.4/clustering/index.htmlをお勧めしますか?あなたのブローカーの両方で

答えて

4

-Amber

よろしく、

は、あなたがupdateClusterClientsとrebalanceClusterClientsを有効にする設定にごtransportConnectorを必要としています。

<transportConnectors> 
    <transportConnector name="tcp-connector" uri="tcp://192.168.0.23:61616" updateClusterClients="true" rebalanceClusterClients="true" /> 
</<transportConnectors> 

具体的には、rebalanceClusterClientsが必要です。新しいブローカーがあなたを使用しなければならないのブローカー

のネットワークに参加する際

trueの場合、接続されたクライアントは、ブローカーのクラスタ 全体でリバランスするように求められます:http://activemq.apache.org/failover-transport-reference.htmlのドキュメントから、と述べていますこれらのオプションを使用できるようにするには、ActiveMQ 5.4以降が必要です。

+0

こんにちは、投稿いただきありがとうございます、私は上記のようにブローカーを構成するために管理しなかった私が。 B1に接続されたP1とB2に接続されたB1(B)C2に接続されたC1のように構成されています(C)B1~B2はブローカーのネットワークです – AmbGup

+0

こんにちは、私は上記のようにブローカーを構成しましたB1に接続されたP1とB2に接続されたB1(2)C2に接続されたC1、(3)ブローカーのネットワークとしてB1-B2を設定しました。 B2がダウンすると、すべての接続がB1に移行します。 B2が戻ってC2がB2からのメッセージを消費する場合には、依然として有効であるかどうかを確認してください。 B2が戻ってきたときにバレーシングが起こっていることをどのように証明するのですか?この記事で説明したようにBroker URIをログに記録する方法はありますか? http://activemq.apache.org/mdc-logging.html – AmbGup

+0

JMXから監視したり、ブローカーの勧告メッセージを確認したりすることができます。 – whaley

0

次の質問に対する回答: "この記事で説明したようにブローカURIを記録する方法はありますか?「クライアントがどのようなブローカーに接続されているかを示すために

、 は、次のようにクライアントのLog4jの設定を変更します。

<log4j:configuration debug="true" 
        xmlns:log4j="http://jakarta.apache.org/log4j/"> 

    ... 

    <logger name="org.apache.activemq.transport.failover.FailoverTransport"> 
     <level value="debug"/> 
    </logger> 

    ... 

</log4j:configuration> 
関連する問題