活动 MQ 与 JBoss 消息传递

Posted

技术标签:

【中文标题】活动 MQ 与 JBoss 消息传递【英文标题】:Active MQ vs JBoss Messaging 【发布时间】:2010-10-05 04:15:02 【问题描述】:

我将为一个项目选择一个 JMS 消息代理。 JMS 服务器必须稳定并且能够处理大量消息,这一点至关重要。我缩小了列表范围,将 Active MQ 和 JBoss Messaging 包括在内。

我想知道你们中是否有人对其中任何一个有任何经验,或者甚至更好地在同一环境中尝试过这两个。任何指向研究论文或类似内容的链接都会很好。

【问题讨论】:

我也很想听听这个 这应该是社区维基吗? 【参考方案1】:

http://activemq.apache.org/how-does-activemq-compare-to-jbossmq.html

【讨论】:

我对 JBoss MQ 不感兴趣,但对 JBoss Messaging 感兴趣。一个独立的报告会很好..... 不知道的人请注意:JBoss Messaging 是对 JBoss MQ 的重写,宣称性能大大提高。 这不是重写,真的,它与 JBossMQ 没有任何共同之处,除了是标题中带有“JBoss”的 JMS 实现。【参考方案2】:

JBoss 最近重新设计了他们的 Messaging 的整个实现,例如 JBoss MQ 已被 JBoss Messaging 取代,现在又被替换为“HornetQ”。您只需要记住这一点,因为上面的比较非常过时了(更不用说可能有偏见)。

【讨论】:

【参考方案3】:

JBoss Messaging 取代了 JBoss MQ。以下是消息传递性能数据: http://www.jboss.org/community/docs/DOC-10640

JBoss MQ 根本不可扩展:http://www.jboss.org/community/docs/DOC-12452

【讨论】:

JBossMQ 的扩展性可能不如 JBM,但说“根本无法扩展”是完全错误的。我们将它用于相当大的数量,它可以毫无怨言或问题地处理这个问题。 对不起,我应该说很难扩展。例如,MQ 为每个订阅者创建 3 个线程。如果有正在进行的活动消息传递,它会为此类订阅者添加多达 10 个其他线程。在我们的 MQ 系统上,每个订阅者平均有 3.5 个线程。拥有 300 个用户,这使得 1000 个线程仅用于 MQ。如果为所有订阅放置一条消息,则其中 300 个线程排队等待 CPU。【参考方案4】:

逐个功能的比较都非常好,但是我对 ActiveMQ 的体验(通过多年来的各种版本)是它存在令人震惊的错误,而且似乎没有人愿意修复这些错误。这令人深感沮丧。此外,文档很混乱,没有正确更新新版本。

与 ActiveMQ 相比,JBossMessaging 的功能相对较少,但它坚如磐石、文档齐全且可靠。它也是 JBossAS 5 的一部分,RedHat 在支持它方面做得很好。

【讨论】:

【参考方案5】:

到目前为止,我对 Jboss 的社区 wiki 和文档有很好的体验,它几乎涵盖了所有内容。虽然,我发现他们最新的文档中遗漏了相当明显的配置设置,但我想这一定是从那时起改进了。对于 ActiveMQ,与 Jboss 相比,我发现的文档很少。

我已经通过 Jboss 和 GlassFish 使用 MOM 进行了某些研究,但最重要的影响之一是永久存储(如果您要使用任何存储)。我认为这本身非常重要,尤其是它们的兼容性、支持、文档。

看看这个。显然,在 ActiveMQ 中的持久存储方面存在一定的问题。

http://www.jboss.org/file-access/default/members/jbossmessaging/freezone/docs/userguide-2.0.0.alpha1/html/performance.html#performance.results

【讨论】:

【参考方案6】:

JBoss Messaging 现在仅处于错误修复模式,因为 JBoss / Red Hat 有一个名为 HornetQ 的新 Java 消息传递项目。

网址在这里http://hornetq.org

HornetQ 拥有卓越的性能、完整的功能集和易用性。

您会发现它的性能与 ActiveMQ 相比非常好。

顺便说一句 - 我是 JBoss Messaging 和 HornetQ 的项目负责人。

HornetQ 2.0.0.GA 将于下周发布。

【讨论】:

【参考方案7】:

HornetQ 看起来不错。

http://www.spec.org/jms2007/results/jms2007.html

【讨论】:

以上是关于活动 MQ 与 JBoss 消息传递的主要内容,如果未能解决你的问题,请参考以下文章

保证MQ消息传递的一致性

在 MQ 系列中配置“重试延迟”

MQ分类和基本信息

消息队列-OPEN MQ

MQ服务

消息中间件-消息的可靠性传递