0

私はRabbitMqが初めてです。ここの概念が理解できません。シナリオを見つけてください。

実行中の両方のマシンにrabbitmqをインストールした2台のマシン(RMQ1、RMQ2)があります。再び、RMQ2 をクラスター化して RMQ1 に参加させました

cmd:/> rabbitmqctl join_cluster rabbit@RMQ1

ここにマシンのステータスが表示される場合は、次のようになります。

RMQ1で

c:/> rabbitmqctl cluster_status
    Cluster status of node rabbit@RMQ1...
    [{nodes,[{disc,[rabbit@RMQ1,rabbit@RMQ2]}]},
     {running_nodes,[rabbit@RMQ1,rabbit@RMQ2]}]

RMQ2で

c:\> rabbitmqctl cluster_status
Cluster status of node rabbit@RMQ2 ...
[{nodes,[{disc,[rabbit@RMQ1,rabbit@RMQ2]}]},
 {running_nodes,[rabbit@RMQ1,rabbit@RMQ2]}]

メッセージをパブリッシュおよびサブスクライブするために、RMQ1 に接続しています。これで、RMQ1 に送信またはメッセージを送信するたびに、RMQ1 と RMQ2 の両方にミラーリングされたメッセージが表示されます。これは、両方のノードが同じクラスターにあるため、ノード間でミラーリングされていることを明確に理解しています。

RMQ2 をダウンさせたとしましょう。メッセージが RMQ1 にパブリッシュされているのが見えます。

しかし、RMQ1 を停止すると、メッセージを発行できなくなります。このことから、RMQ1 がマスターで、RMQ2 がスレーブであることがわかります。

コードを変更せずに、以下の質問があります。

  1. RMQ2 にメッセージを受け入れるようにするにはどうすればよいですか。
  2. 高可用性キューの意味は何ですか。
  3. この種のシナリオを実装するための戦略はどうあるべきか.

助けてください

4

1 に答える 1