我将不胜感激关于这两个消息传递系统中的哪一个是的一些一般性指示和意见
- 更容易管理
- 需要知道和避免的陷阱或魔法东西更少
- 具有较少的总体依赖关系
- 使用起来很简单。
首先,我有偏见。我是 HornetQ 项目的创始人,虽然我不再从事这个项目。
为什么 HornetQ 优于 ActiveMQ?这里有几个很好的理由:
HornetQ 比 ActiveMQ 快得多。http://community.jboss.org/wiki/HornetQPerformance
事实上,HornetQ 是市场上排名第一的最快的企业消息系统。或者至少,当我们去年在市场上对其进行测试时是这样。(我们针对前 11 个左右的 JMS 实现对其进行了测试)
特征。HornetQ 有一个完整的“企业”功能集,你希望看到。功能列表在这里http://community.jboss.org/wiki/HornetQFeatures
您会发现 HornetQ 具有与您在 ActiveMQ 中找到的大多数功能等价的功能,以及您在 ActiveMQ 中找不到的其他功能
最近对集群进行了大修,因此它坚如磐石。如果您对集群有任何不满,请使用论坛。HornetQ 团队将很乐意回应任何感知到的问题。
许多知名人士在生产中使用,包括大型金融组织和其他,例如 last.fm
作为 JBoss AS 7 中的核心消息传递技术值得信赖。世界上最受欢迎的 Java 应用服务器的最新版本。
协议无关架构。HornetQ 与 ActiveMQ 不同,它不是围绕 JMS 构建的。在 HornetQ 中,核心服务器与协议/API 无关——它是一个通用的消息服务器。STOMP/JMS/REST/Websockets 等各种协议/API 作为瘦适配器添加到通用核心。这使它更加灵活。
更容易管理
hornetQ 有一个清晰的管理 API 并且非常容易使用。
需要知道和避免的陷阱或魔法东西更少
hornetQ 是为嵌入式外壳制作的。将它集成到您的代码中非常非常容易。事实上,您只需不到 10 行代码就可以做到。
具有较少的整体依赖性
HornetQ 上的一切都是模块化的。HornetQ 唯一需要的依赖是网络提供商 Netty。
使用起来很简单。
HornetQ 使用起来非常简单。清晰的API,主要是文档非常非常完整。
您无需购买任何书籍即可使用 HornetQ。所有文档都在 hornetq 的网站上免费提供。
我在日常工作中大量使用 ActiveMq,并且对您提出的大多数观点都给予了很高的评价。我特别依赖 JMX 管理控制台,它是一流的。
我也一直在密切关注 HornetQ,也许有一天也会增加对它的支持。从我所见,HornetQ 的重量更轻一些,并且有一些非常好的 NIO 优化,应该可以让它飞起来。但缺少一些 ActiveMQ 提供的企业集成功能,可能还有一些管理功能。然而,据我所知,HornetQ 团队正在努力填补这些空白。
在我看来,我认为这两种选择都不会出错。试试他们两个,看看哪个感觉更好。
在决定使用 ActiveMQ 之前,我对两者进行了广泛的评估。它经过验证且稳定,是您在消息传递系统中想要的东西。我已经在两个大型系统上使用了 ActiveMQ,并取得了巨大的成功。不久前,当 HornetQ 声称比 ActiveMQ 更快时,有一些炒作,所以我看了一下。HornetQ 的集群存在一些严重缺陷,这可能导致消息丢失和服务器试图无限期地连接到故障节点。HornetQ 的首席开发人员拒绝承认 HornetQ 的缺陷,并且在用户论坛上非常防御,这应该让你对产品非常警惕。
Apache ActiveMQ Artemis 是要走的路
HornetQ 代码库被捐赠给了 Apache ActiveMQ 项目,HornetQ 社区加入了该项目以增强捐赠的代码库并创建下一代消息传递代理。结果是 Apache ActiveMQ Artemis。