哪个嵌入式消息系统 - > ActiveMQ或HornetQ

时间:2010-12-30 03:55:14

标签: java jboss jms activemq hornetq

我很感激关于两个消息传递系统中的哪一个的一般指示和意见

  • 更易于管理
  • 需要知道并避免使用
  • 的陷阱或魔法
  • 的依赖性较低
  • 很容易使用。

5 个答案:

答案 0 :(得分:47)

首先,我有偏见。我是HornetQ项目的创始人,虽然我不再继续工作了。

为何HornetQ超过ActiveMQ?以下是一些很好的理由:

  1. HornetQ明显快于ActiveMQ。 http://community.jboss.org/wiki/HornetQPerformance

    事实上,HornetQ是市场上排名第一的企业邮件系统。或者至少,当我们去年对市场进行测试时。 (我们针对前11个左右的JMS实现测试了它)

  2. 功能。 HornetQ有一个完整的“企业”功能集,你期望看到它。功能列表在http://community.jboss.org/wiki/HornetQFeatures

    你会发现HornetQ与你在ActiveMQ中找到的大部分功能相同,而其他你在ActiveMQ中找不到的功能

  3. 最近对集群进行了大修,因此它非常坚固。如果您对群集有任何抱怨,请使用论坛。 HornetQ团队将很乐意回应任何感知问题。

  4. 许多知名品牌(包括大型金融机构和其他公司,如last.fm

  5. )在生产中使用
  6. 值得信赖,成为JBoss AS 7中的核心消息传递技术。世界上最受欢迎的Java应用服务器的最新版本。

  7. 协议不可知架构。与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。