JMS/AMQP 代理比较



在阅读了SO上的一些有趣的帖子以及在Google上找到的许多页面之后,我想请您帮助决定选择哪个JMS/AMQP代理。我们公司面临着简单的问题。我们需要使用可靠的基于消息的系统来通信集群中的节点。由于我们有"我们自己的"解决方案,因此当我们试图在其中添加越来越多的功能时,它对我们来说变得非常混乱(另外,它:)有缺陷)。

真的不想提出另一个关于哪个经纪人更好/更差的问题,我更想问你关于JMS/AMQP经纪人的可靠性/复杂性/灵活性的个人经验和观察。(即我发现了一些关于ActiveMQ的令人困惑的信息,说它不稳定,但许多人认为它是最好的JMS解决方案)

目前,我们的系统发送大约 100 mps,因此负载不大,但随着越来越多的节点将被添加到集群中,我们需要能够在未来对其进行扩展。每个节点都应该发送和接收消息。我们需要找到尽可能可靠的解决方案。

谢谢你的回答。

一般来说,更强大的经纪人是商业经纪人。 我在生产中使用过ActiveMQ,它有一些问题,我可以解决。它支持每秒高达 20K 条消息。我会再次使用它。

我将从我最了解的经纪人开始。

蒂伯科特快车

优点

  • 非常稳定
  • 具有 c#、c 和 Java API
  • 良好的支持
  • 成熟,有很多不错的增强功能,这些增强体现在一些小事情上,例如它如何将消息分发给队列中的消费者等。

缺点

  • 网络上的信息不多

我的老板帮助开发了AMQP规范,他对RabbitMQ的评价非常高。我没有在愤怒中使用它,所以无法发表评论。

当然,与JMS代理相比,AMQP

的一大优势是互操作性,即从一个供应商代理发送的消息可以被任何其他AMQP代理实现读取。

我们使用 IBM Websphere MQ 进行大型安装 - 它只是商业版 - 但它是一个健壮的、可扩展的解决方案。对于中小型,我们使用ActiveMQ和OpenMQ。

最新更新