我是 RabbitMq 的新手。我无法理解这里的概念。请找到场景。
我有两台机器(RMQ1,RMQ2),我在两台正在运行的机器上都安装了rabbitmq。我再次集群 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 承担接受消息的工作。
- 高可用队列是什么意思。
- 实施这种情况的策略应该如何。
请帮忙