私は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 がスレーブであることがわかります。
コードを変更せずに、以下の質問があります。
- RMQ2 にメッセージを受け入れるようにするにはどうすればよいですか。
- 高可用性キューの意味は何ですか。
- この種のシナリオを実装するための戦略はどうあるべきか.
助けてください