如标题所示,我想为RMQ .NET ConnectionFactory
提供多个URI,希望它会自动故障转移到第一个可用的URI,而不是局限于一个URI。
设置
使用Docker Quickstart Terminal(Docker工具箱的一部分),我创建了四个容器,每个容器都在其上运行的RMQ实例上。
我将RMQ节点聚类如下:
下游节点与上游节点共享Federated Queue以增加吞吐量。
使用
我已经用C#编写了一个简单的控制台应用程序,它将生成消息并将消息发布到node4(主要的上游RMQ实例)。
我想测试我的RMQ配置的冗余/自动故障转移,因为我已经设置了
AutomaticRecoveryEnabled
(docs)和TopologyRecoveryEnabled
(docs)的标志,并设置了联合队列。但是,RMQ .NET库提供的
ConnectionFactory
似乎不支持指定多个URI(docs)。因此,我不得不在节点发生故障时在节点之间进行切换的过程中手动编码-我通过捕获无法再访问节点时引发的异常,然后对所有节点执行ping操作,以查看哪些节点处于事件状态来进行此操作。是否可以为ConnectionFactory提供多个Rabbit端点,使其可以自动进行故障转移?
最佳答案
使用枢纽提供的C#客户端,否。您将不得不做我确实在害怕的事情。
关于c# - 是否可以在RMQ .NET中指定多个连接点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36683201/