我们已经在测试环境中配置了 RabbitMQ 的主动/主动集群。
我们使用指定 ReceiveFrom("rabbitmq://cluster_machine_a/some_queue?ha=true") 的 MassTransit 进行连接。
显然,这是利用特定的集群节点,因此不提供故障转移。
通知 MassTransit 有关集群节点以便发生故障转移的正确方法是什么?
RabbitMQ 文档表明客户端应该使用传统的负载均衡器来分配流量,但是这是否适用于 RabbitMQ? (最后一节 - http://www.rabbitmq.com/clustering.html)
最佳答案
为了回答我自己的问题,在 MassTransit 中没有故障转移的概念,即带有故障转移伙伴的 SQL 服务器连接字符串。
相反,您只需在 RMQ 的前面引入一个负载均衡器,并接受当您为其编写恢复代码的节点出现故障时您将收到错误。当然,您需要将 RMQ 节点连接在一起,这可以通过它的内置集群来实现。
最后,从负载均衡器引入的虚拟 ip 接收并让它负责检测失败的 RMQ 节点。
关于c# - 使用 RabbitMQ 的 MassTransit - RecieveFrom 的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731495/