如何在RabbitMQ和ZeroMQ或其他之间进行选择?


26

我正在寻找一种快速可靠的排队系统,并且可能会在整个计算机上传播。平台是Linux。开源是可取的。

RabbitMQ和ZeroMQ看起来都不错,但是我没有使用这些或任何其他排队系统的经验。你能为我指出正确的方向吗?

Answers:


16

ZeroMQ和RabbitMQ都支持称为AMQP的开放式消息传递协议。AMQP的优势在于,它被设计为是两个商业消息队列(IBM和Tibco)的高度健壮和开放的替代方案。

但是,ZeroMQ不支持崩溃重启后的消息持久性。剩下的就是RabbitMQ。(也就是说,如果您不需要持久性,那么ZeroMQ非常有趣……低延迟和灵活的拓扑)。


10
进行较小的校正,RabbitMQ是AMQP实现,而ZeroMQ不是。这个有趣的历史:)lists.openamq.org/pipermail/openamq-dev/2010-March/001598.html
Mike Hadlow

7
ZeroMQ不支持持久性是不正确的。ZeroMQ只是一个消息传递库,您可以根据需要轻松地编写一个代理来保留消息。ZeroMQ更像是一个可用于构建自定义消息传递系统的工具箱,而AMQP是一种协议,它强制要求代理并​​指定许多代理行为,例如消息持久性。
Michael Dillon

@MikeHadlow的历史实际上非常有趣,感谢链接
lajarre 2012年


5

详细说明在这里。但是请不要100%依赖于此。3件事有3个目标。

消息队列评估笔记

对于基于事务的实时快速数据分发,使用ZeroMQ很好。使用RabbitMQ最高的消息可靠性是最好的。中间解决方案是ActiveMQ


3

我们对各种消息传递方法进行了评估。

BoostASIO(插槽),ZeroMQ(轻量级框架)和OpenDDS(OMG DDS规范的全功能实现)。

描述结果的论文可以在这里找到。结果并非您所期望的。

披露:张贴者是进行评估的公司的首席执行官,并且评估中包括公司的产品。


9
公司的董事发布指向该公司执行的评估的链接,该评估将该公司生产的产品与其他产品进行比较。这确实更像是广告,而不是答案。特别是在这是答案海报中唯一的帖子/活动时。
Christopher Cashell
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.