Jms ActiveMQ或RabbitMQ或ZeroMQ或
我们有兴趣了解ActiveMQ、RabbitMQ和ZeroMQ的利弊。也欢迎提供有关其他有趣的消息队列的信息。的评论中有一些关于Twitter编写自己的消息队列的讨论,这可能很有趣 史蒂夫承受了巨大的负荷和压力 ActiveMQ、RabbitMQ等的测试。 ActiveMQ实际上相当慢(非常慢) 比红隼慢),兔子 总是与太多的人发生冲突 生产者和消费者太少Jms ActiveMQ或RabbitMQ或ZeroMQ或,jms,rabbitmq,activemq,message-queue,zeromq,Jms,Rabbitmq,Activemq,Message Queue,Zeromq,我们有兴趣了解ActiveMQ、RabbitMQ和ZeroMQ的利弊。也欢迎提供有关其他有趣的消息队列的信息。的评论中有一些关于Twitter编写自己的消息队列的讨论,这可能很有趣 史蒂夫承受了巨大的负荷和压力 ActiveMQ、RabbitMQ等的测试。 ActiveMQ实际上相当慢(非常慢) 比红隼慢),兔子 总是与太多的人发生冲突 生产者和消费者太少 不过,一开始您可能不会有类似Twitter的负载:)比您想知道的更多的信息: 更新 只是详细说明保罗在评论中补充的内容。2010年后,这
不过,一开始您可能不会有类似Twitter的负载:)比您想知道的更多的信息:
更新 只是详细说明保罗在评论中补充的内容。2010年后,这家公司就死了,所以请谨慎阅读。很多东西在三年内都改变了
也许,这一切都取决于您的用例。不要依赖其他人对其用例的描述,请随意将您的用例发布到rabbitmq讨论列表中。在twitter上提问也会得到一些回应。最好的祝愿,亚历克西斯,RabbitMQ和ActiveMQ之间有一个比较。开箱即用,ActiveMQ被配置为保证消息传递——与不太可靠的消息传递系统相比,这会给人留下缓慢的印象。如果愿意,您可以随时更改性能配置,并获得至少与任何其他消息传递系统一样好的性能。至少你有这个选择。论坛和ActiveMQ常见问题解答中有很多关于扩展、性能和高可用性配置的信息。此外,当规范最终确定时,ActiveMQ将支持AMQP1.0以及其他有线格式,如STOMP
ActiveMQ的另一个优点是它是一个Apache项目,因此开发人员社区中存在着多样性,而且它与一家公司无关。我只能补充我对ActiveMQ的看法,但因为这是最受欢迎的项目之一: 你想用的语言可能很重要。尽管ActiveMQ确实为大多数人提供了一个客户端,但与Java库相比,它们的C#实现还远远不够完整 这意味着一些基本功能是脆弱的(故障转移协议…嗯…在某些情况下失败,没有重新交付支持),而其他功能根本不存在。由于.NET似乎对项目并不那么重要,所以开发相当缓慢,而且似乎没有任何发布计划。主干经常被破坏,所以如果你考虑这个,你可能想考虑对项目的贡献,如果你希望事情继续下去。 还有ActiveMQ本身,它有很多不错的特性,但也有一些非常奇怪的问题。出于稳定性的考虑,我们使用了activemq的Fuse(Progress)版本,但即便如此,您仍需要记住几个奇怪的“bug”:
- 在某些情况下停止发送消息的代理
- 日志错误使队列显示不再存在的消息(它们不会传递给使用者,但仍然存在)
- 优先权仍未落实(自人类开始以来就在问题清单上)
- 等等等等
B) 用java开发;-) 编辑:我最初的回答非常关注AMQP。我决定重写它,以便在这个话题上提供更广阔的视野 这3种消息传递技术在构建分布式系统方面有不同的方法: RabbitMQ是AMQP协议(以及Apache Qpid)的主要实现之一。因此,它实现了代理体系结构,这意味着消息在发送到客户机之前在中心节点上排队。这种方法使RabbitMQ非常易于使用和部署,因为路由、负载平衡或持久消息队列等高级方案只需几行代码即可得到支持。然而,由于中心节点增加了延迟,并且消息信封相当大,因此它也使得它的可伸缩性较差,速度“较慢” ZeroMq是一个非常轻量级的消息传递系统,专为高吞吐量/低延迟场景而设计,就像金融世界中的场景一样。Zmq支持许多高级消息传递场景,但与RabbitMQ相反,您必须通过组合框架的各个部分(例如:套接字和设备)来实现大部分场景。Zmq非常灵活,但在能够完成比在两个对等方之间发送消息更复杂的任务之前,您必须先研究(我建议编写分布式系统的任何人都可以阅读这篇文章,即使您不使用Zmq)
<强> ActuMeq <强>处于中间位置。与Zmq一样,它可以与代理和P2P拓扑一起部署。与RabbitMQ一样,实现高级场景更容易,但通常以原始性能为代价。这是瑞士军刀的信息:-)
最后,所有3种产品:- 为最常见的语言(C++、Java、.Net、Python、Php、Ruby等)提供客户端API
- 拥有强大的文档
- 他们得到了积极的支持
玩得开心 很少有应用程序具有与ActiveMQ一样多的调优配置。使ActiveMQ脱颖而出的一些功能包括: 可配置的预取大小。 可配置线程。 可配置故障切换。 可配置的生产商管理通知。 ... 详情见:
如果您对