消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ

消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ 做者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs RabbitMQ、ActiveMQ和ZeroMQ都是极好的消息中间件,可是咱们在项目中该选择哪一个更适合呢?不少开发者面临这个烦恼。下面我会对这三个消息中间件作一个比较,看了后大家就心中有数了。 RabbitMQ是AMQP协议领先的一个实现,它实现了代理(Broker)架构,意味着消息在发送到客户端以前能够在中央节点上排队。此特性使得RabbitMQ易于使用和部署,适宜于不少场景如路由、负载均衡或消息持久化等,用消息队列只需几行代码便可搞定。可是,这使得它的可扩展性差,速度较慢,由于中央节点增长了延迟,消息封装后也比较大。 ZeroMQ是一个很是轻量级的消息系统,专门为高吞吐量/低延迟的场景开发,在金融界的应用中常常能够发现它。与RabbitMQ相比,ZeroMQ支持许多高级消息场景,可是你必须实现ZeroMQ框架中的各个块(好比Socket或Device等)。ZeroMQ很是灵活,可是你必须学习它的80页的手册(若是你要写一个分布式系统,必定要阅读它)。 ActiveMQ居于二者之间,相似于ZemoMQ,它能够部署于代理模式和P2P模式。相似于RabbitMQ,它易于实现高级场景,并且只需付出低消耗。它被誉为消息中间件的“瑞士军刀”。 要注意一点,ActiveMQ的下一代产品为Apollo。 最终,这三个产品: 1. 都有客户端API且支持多种编程语言; 2. 都有大量的文档; 3. 都提供了积极的支持。
相关文章
相关标签/搜索