Rabbitmq联合队列与镜像

时间:2017-12-11 00:48:56

标签: rabbitmq load-balancing high-availability

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

所以给出 3 节点,每个节点都有 1 队列(让我们说Node1Queue1, Queue2, Queue3Node2Queue1, Queue2, Queue3Node3也是如此。 每个队列都有自己的消费者

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

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

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

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

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

感谢。 GGarcia

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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

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

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

祝你好运!