Rabbitmq联合队列与镜像

问题描述 投票:0回答:1

我是RabbitMQ的新手,不太确定我的目标是否可以实现。基本上,我的目标是能够设置高可用性和负载平衡的队列。

所以给出3个节点,每个节点有1个队列(假设Node1Queue1, Queue2, Queue3 .Node2也有Queue1, Queue2, Queue3Node3也一样)。每个队列都有自己的消费者。

我想对队列中的消息进行负载均衡,以便生产者可以将消息发送到任何队列并让消费者处理队列。

我还想实现镜像,以便如果其中一个Nodes发生故障(假设Node1由于某种原因而失效),发送到Node1队列的消息将不会丢失并且仍将被处理。

根据我对聚类的理解,消息被存储到主队列所在的位置,因此我没有实现我想要的负载平衡队列。

我的目标是否可以实现?如果是的话,我该怎么做?

我正在查看联邦队列,但不太确定我是否可以用它实现镜像。

谢谢。加西亚

rabbitmq load-balancing high-availability
1个回答
1
投票

根据这个不,这是不可能的:

https://www.rabbitmq.com/blog/2013/10/23/federated-queues-in-3-2-0/

'联合队列只会在一个位置包含给定的消息;没有镜像。“

我一直在想,如何实现联合队列,并使用像Pacemaker / DRBD这样的“低级”解决方案为每个节点提供HA?

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

没试过,这只是一个想法。

另一件事可能是使用分片而不是联合队列,在这里它说应该可以镜像其分片队列:

https://github.com/rabbitmq/rabbitmq-sharding/issues/12

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.