我很感激关于两个消息传递系统中的哪一个的一般指示和意见
答案 0 :(得分:47)
首先,我有偏见。我是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应用服务器的最新版本。
协议不可知架构。与ActiveMQ不同,HornetQ不是围绕JMS构建的。在HornetQ中,核心服务器与协议/ API无关 - 它是一个通用的消息服务器。各种协议/ API(如STOMP / JMS / REST / Websockets等)作为瘦适配器添加到通用核心。这使它更加灵活。
答案 1 :(得分:34)
更易于管理
hornetQ有一个清晰的管理API,它非常易于使用。
需要知道并避免使用更少的陷阱或神奇的东西
hornetQ是针对嵌入式案例而制作的。将它集成到您的代码中非常非常容易。事实上,你可以使用不到10行代码来完成它。
总体依赖性较低
HornetQ上的所有东西都是模块化的。对HornetQ唯一需要的依赖是Netty,它是网络提供商。
很容易使用。
HornetQ使用起来非常简单。清除API,主要是文档非常非常完整。
您无需购买任何书籍即可使用HornetQ。所有的文档都在hornetq的网站上免费提供。
答案 2 :(得分:8)
我在日常工作中使用ActiveMq非常重要,并且对于你提出的大多数积分都非常高。我特别依赖于JMX管理控制台,它是顶级的。
我也一直密切关注HornetQ,有朝一日也可能会加入支持。从我所看到的HornetQ重量稍轻,并有一些非常好的NIO优化,这应该让它飞。但缺少ActiveMQ提供的一些企业集成功能,可能还有一些管理功能。但是,从我看到的情况来看,HornetQ团队正在努力填补空白。
我认为在这两种选择中我都不会做错。尝试一下,看看哪种感觉更好。
答案 3 :(得分:3)
在决定使用ActiveMQ之前,我对两者进行了广泛的评估。它经过验证和稳定,是您在邮件系统中所需要的。我在两个大型系统上使用ActiveMQ取得了巨大成功。当HornetQ声称自己比ActiveMQ更快时,围绕HornetQ进行了一些炒作,所以我看了看。 HornetQ有一些严重的缺陷,它的集群可能导致消息丢失,服务器试图无限期地连接到故障节点。 HornetQ的首席开发人员拒绝承认HornetQ中的漏洞,并且在用户论坛上非常谨慎,这应该会让你对产品保持警惕。
答案 4 :(得分:0)
Apache ActiveMQ Artemis是必经之路
HornetQ代码库已捐赠给Apache ActiveMQ项目,HornetQ社区也加入了该项目,以增强捐赠的代码库并创建下一代消息传递代理。结果是Apache ActiveMQ Artemis。