RabbitMQ 管理控制台 - 节点名称

RabbitMQ Management Console - node name

我可以从 RabbitMq 管理控制台更改特定队列的节点名称吗?我试过了,但我认为这是在我启动我的应用程序时创建的。以后可以改吗?我的队列在节点 RabbitMQ1 上,我的连接在节点 RabbitMQ2 上,所以我无法从该队列读取消息。也许我可以更改我的连接节点?

节点名称不仅仅是一个标签,它还是队列所在的物理位置。事实上,默认情况下队列不是 distributed/mirrored,而是在应用程序连接的服务器上创建的,正如您猜对的那样。

然而,您可以使用策略使您的队列镜像,这样您就可以使用来自两个服务器的消息。

https://www.rabbitmq.com/ha.html

您可以使用 rabbitmqctl 命令或从管理控制台,管理员 -> 策略更改队列策略。

您需要同步队列以便将旧消息克隆到镜像队列:

rabbitmqctl sync_queue <queue_name>

新发布的消息将在队列的两个副本中结束,并且可以从两个队列中交替使用(不会同时从两个队列中使用相同的消息)。