我们有兴趣听听ActiveMQ vs RabbitMQ vs ZeroMQ的优缺点。还欢迎提供有关任何其他有趣的消息队列的信息。


当前回答

关于ZeroMQ(又名0MQ),正如您可能已经知道的那样,它是每秒钟获得最多消息的一种(上次我检查时,在其引用服务器上大约是每秒钟400万条消息),但是您可能也已经知道,不存在相关文档。您将很难找到如何启动服务器,更不用说如何使用它们了。我想这就是为什么还没有人贡献0MQ的部分原因。

玩得开心!

其他回答

我用的是zeroMQ。我想要一个简单的消息传递系统,我不需要复杂的代理。我也不想要一个巨大的面向Java的企业系统。

如果你想要一个快速、简单的系统,并且你需要支持多种语言(我使用C和。net),那么我建议你看看0MQ。

我没有使用ActiveMQ或RabbitMQ,但使用ZeroMQ。在我看来,ZeroMQ和ActiveMQ等之间的最大区别是0MQ是无代理的,并且没有内置消息传递的可靠性。如果您正在寻找一种易于使用、支持多种消息传递模式、传输、平台和语言绑定的消息传递API,那么0MQ绝对值得一看。如果您正在寻找一个成熟的消息传递平台,那么0MQ可能不适合。

有关如何使用0MQ的大量示例,请参阅www.zeromq.org/docs:cookbook。

我成功地使用0MQ在电力使用监控应用程序中传递消息(见http://rwscott.co.uk/2010/06/14/currentcost-envi-cc128-part-1/)

如果您也对商业实现感兴趣,您应该看看my-channels中的Nirvana。

Nirvana在金融服务行业中被广泛用于大规模低延迟交易和价格分销平台。

它支持企业、网络和移动领域的各种客户端编程语言。

集群功能非常高级,如果透明的HA或负载平衡对您很重要,那么值得一试。

出于开发目的,Nirvana可以免费下载。

ZeroMQ真的是零队列!这真是个错误!它没有队列、主题、持久性,什么都没有!它只是套接字API的中间件。如果它是你看起来很酷!否则就忘了它吧!它不像activeMQ或rabbitmq。

文中对RabbitMQ ActiveMQ和QPID的特性和性能进行了比较 http://bhavin.directi.com/rabbitmq-vs-apache-activemq-vs-apache-qpid/

就我个人而言,以上三种方法我都试过了。在我看来,RabbitMQ的性能是最好的,但是它没有故障转移和恢复选项。ActiveMQ拥有最多的特性,但速度较慢。

更新: HornetQ也是一个你可以考虑的选项,它是JMS投诉,如果你正在寻找一个基于JMS的解决方案,一个比ActiveMQ更好的选择。