我一直在将RabbitMQ视为高可用且可靠的消息代理的候选者。我需要的是在n台物理机器上运行的消息代理,即使在单个实例的硬件或网络故障之后也会继续运行。需要以至少一次语义可靠地传输单个消息。群集还需要能够自我修复并允许重新启动崩溃的实例而无需额外的手动发明!
阅读RabbitMQ文档,群集部分有一些可怕的警告,例如“必须通过可靠的LAN链接连接经纪人”。其他部分也提到重新启动崩溃的节点可能需要一些人工干预。 RabbitMQ能否满足我的要求,如果没有,是否还有其他OSS替代方案?
答案 0 :(得分:1)
根据您描述的要求,RabbitMQ没有开箱即用的银弹。如果您想通过RabbitMQ满足您的实际业务需求,则需要构建一些可能特定于您的应用程序的额外功能。在这种情况下,您可能需要从RabbitMQ讨论列表或谷歌寻求RabbitMQ咨询的指导。
请注意,您没有修复群集中已崩溃的节点,您替换它们。您可以使用检查Rabbit退出代码的内容包装Rabbit启动脚本,并在发生崩溃时删除该节点并创建一个全新的节点。