哪个embedded式消息系统 – > ActiveMQ或者HornetQ

我将不胜感激关于两个消息系统中的哪一个的一般指针和意见

  • 更容易pipe理
  • 有一些需要知道和避免的陷阱或魔法的东西
  • 具有较less的整体依赖性
  • 很简单的工作。

更容易pipe理

hornetQ有一个明确的pipe理API,使用起来非常简单。

有一些需要知道和避免的陷阱或魔法的东西

hornetQ是为embedded式的情况下。 将它集成到代码中非常非常容易。 事实上,你可以用less于10行的代码来完成。

具有较less的整体依赖性

HornetQ上的所有东西都是模块化的。 唯一需要的依赖HornetQ是Netty是networking提供者。

很简单的工作。

HornetQ使用起来非常简单。 清除API,主要是文档非常非常完整。

你不需要购买任何书籍来使用HornetQ。 所有的文档都在hornetq的网站上免费。

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

为什么HornetQ通过ActiveMQ? 以下是几个很好的理由:

  1. HornetQ比ActiveMQ快得多。 http://community.jboss.org/wiki/HornetQPerformance

    事实上,HornetQ是市场上排名第一的企业短信系统。 或者至less是去年我们对市场进行testing的时候。 (我们testing了它与前11个左右的JMS实现)

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

    你会发现HornetQ与你在ActiveMQ中find的大部分function是等价的,而其他的你在ActiveMQ中找不到

  3. 集群最近被彻底检查,所以它是坚如磐石的。 如果您对群集有任何疑问,请使用论坛。 HornetQ团队将乐于回应任何感知问题。

  4. 在包括大型金融机构在内的许多知名度较高的企业中使用,如last.fm

  5. 足以成为JBoss AS 7中的核心消息传递技术。世界上最受欢迎的Java应用程序服务器的最新版本。

  6. 协议不可知的体系结构。 不像ActiveMQ,HornetQ不是围绕JMS构build的。 在HornetQ中,核心服务器是协议/ API不可知的 – 这是一个通用的消息服务器。 各种协议/ API(如STOMP / JMS / REST / Websockets等)作为精简适配器添加到通用内核中。 这使得它更加灵活。

我在日常工作中大量使用ActiveMq,并对您提出的大部分要点给予高度评价。 我特别依靠JMXpipe理控制台,它是顶级的。

我也一直密切关注HornetQ,并且有一天也会join对HornetQ的支持。 从我所能看到的HornetQ有点轻,并有一些非常好的NIO优化,这应该使其飞行。 但缺乏ActiveMQ提供的一些企业集成function,可能还有一些pipe理function。 然而,从我所看到的HornetQ团队正在努力填补空白。

在我看来,我不认为你可以做出任何select。 尝试一下,看看哪个更好。

在决定使用ActiveMQ之前,我做了广泛的评估。 它被certificate是稳定的,你想在消息传递系统中使用。 我在两个大型系统上使用了ActiveMQ,并取得了巨大的成功。 当HornetQ声称比ActiveMQ速度更快的时候,有一些炒作,所以我看了一下。 HornetQ有一些严重的缺陷,可能导致消息丢失,服务器试图无限连接失败的节点。 HornetQ的首席开发人员拒绝承认HornetQ的缺陷,并在用户论坛上相当防守,这会让你对产品非常警惕。