4

我们在测试环境中配置了一个主动/主动的 RabbitMQ 集群。

我们使用 MassTransit 指定 ReceiveFrom("rabbitmq://cluster_machine_a/some_queue?ha=true") 进行连接。

显然,这是利用特定的集群节点,因此不提供故障转移。

向 MassTransit 通知集群节点以便发生故障转移的正确方法是什么?

RabbitMQ 文档表明客户端应该使用传统的负载均衡器来收集流量,但是这适用于 RabbitMQ 吗?(最后一节 - http://www.rabbitmq.com/clustering.html

4

1 回答 1

2

为了回答我自己的问题,MassTransit 中没有故障转移 a-la SQL 服务器连接字符串与故障转移合作伙伴的概念。

相反,您只需在 RMQ 前面引入一个负载均衡器,并接受当您为其编码恢复的节点出现故障时您将收到错误。当然,您需要将 RMQ 节点连接在一起,这可以通过它的内置集群来实现。

最后,从负载均衡器引入的虚拟 ip 接收并让它负责检测失败的 RMQ 节点。

于 2012-07-24T01:07:20.670 回答