1

我一直将 RabbitMQ 视为高度可用且可靠的消息代理的候选者。我需要的是一个在 n 台物理机器上运行的消息代理,即使在单个实例的硬件或网络故障后也能继续运行。需要使用至少一次语义可靠地传输单个消息。集群还需要能够自我修复并允许在没有额外手动发明的情况下重新启动崩溃的实例!

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

4

1 回答 1

1

对于您描述的要求,RabbitMQ 没有开箱即用的灵丹妙药。如果您想使用 RabbitMQ 解决您的实际业务需求,您将需要构建一些可能特定于您的应用程序的额外功能。在这种情况下,您可能需要从 RabbitMQ 讨论列表或 google 寻求指导以获取 RabbitMQ 咨询。

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

于 2013-01-15T12:20:22.810 回答