rabbitmq HA集群

fre*_*ith 3 high-availability rabbitmq

我想将RabbitMQ设置为具有HA的两个(或更多)节点集群.

使用案例:客户端生产者应用程序(C#.NET)知道群集有两个节点并发布到群集.各种消费者应用程序(也称为C#.NET)连接到群集并获取生产者生成的所有消息.只要至少有一个节点启动并运行生产者,消费者就会继续工作而不会出错.假设节点A和B正在运行而B死了一段时间,然后重新启动,然后一段时间A死亡,客户端都继续运行而没有收到错误,因为在任何时候至少有一个节点启动.

是否可以开箱即用?

对于Windows/.NET应用程序环境,是否有更适合(商业上可行)的其他MQ?

Jon*_*ver 7

RabbitMQ v2.6.0现在支持使用主动/主动群集的高可用性队列.微软和许多其他公司已经合作开发了具有C#绑定的Apache QPid,它还支持主动/主动HA集群.


scv*_*lex 6

是否可以开箱即用?

否.当节点发生故障时,其所有连接都将关闭.由于AMQP连接是有状态的,因此没有办法解决这个问题.您可以实现的是1)经纪人关闭,2)所有客户端断开连接,3)客户端连接到其他节点(伪装成原始节点)并且没有更明智.

另外,兔子目前不支持主动 - 主动HA聚类.它支持主动 - 被动群集逻辑群集(可能是您正在寻找的形式).