1

我一直在寻找RabbitMQ作为高可用性和可靠消息代理的候选人。我需要的是在n台物理机器上运行的消息代理,即使在单个实例的硬件或网络故障后也能保持运行。单个消息需要至少一次可靠地传输语义。该集群还需要能够自行修复,并允许崩溃的实例重新启动,而无需额外的手动发明!实际上可以使用RabbitMQ集群来支持高可用性吗?

阅读RabbitMQ文档时,群集部分中有一些可怕的警告,例如“经纪人必须通过可靠的LAN链路连接”。其他部分也提到重新启动崩溃的节点可能需要一些手动干预。 RabbitMQ能否满足我的要求,如果不是,还有其他的OSS替代方案吗?

回答

1

对于您所描述的要求,RabbitMQ没有开箱即用的银弹。如果你想用RabbitMQ来满足你真实的业务需求,你需要构建一些可能特定于你的应用程序的额外功能。在这种情况下,您可能需要从RabbitMQ讨论列表或RabbitMQ咨询的Google寻求指导。

请注意,您不要修复修复群集中的节点,您将替换为它们。您可以将Rabbit启动脚本包装为检查Rabbit退出代码,并在发生崩溃时删除该节点并创建一个全新的节点。

相关问题