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


当前回答

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

玩得开心!

其他回答

这实际上取决于您的用例。

比较0MQ与ActiveMQ或RabbitMQ是不公平的。 ActiveMQ和RabbitMQ是需要安装和管理的消息传递系统。 他们提供了比ZeroMQ更多的功能。他们有真正的持久队列,支持事务等。

ZeroMQ是一个轻量级的面向消息的套接字实现。它也适用于进程内异步编程。在ZeroMQ上运行“企业消息传递系统”是可能的,但您必须自己实现很多工作。

So:

ActiveMQ, RabbitMQ, Websphere MQ和MSMQ是“企业消息队列”

ZeroMQ是一个面向消息的IPC库。

There's a comparison between RabbitMQ and ActiveMQ here. Out of the box, ActiveMQ is configured to guarantee message delivery - which can give the impression its slow compared to less reliable messaging systems. You can always change the configuration for performance if you wish and get at least as good performance as any other messaging system. At least you have that option. There's a lot of information on the forums and the ActiveMQ FAQ for configuration for scaling, performance and high availability. Also, ActiveMQ will support AMQP 1.0 when the spec is finalized, together with other wire formats, like STOMP.

ActiveMQ的另一个优点是它是一个Apache项目,所以开发者社区是多样化的——而且它不局限于一家公司。

比你想知道的更多的信息:

http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes


更新

只是在详细说明保罗在评论中补充的内容。上面提到的页面在2010年之后就消失了,所以阅读时要有所保留。3年里很多东西都变了。

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

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

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

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