`

消息中间件的技术选型心得-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. 都提供了积极的支持。

分享到:
评论

相关推荐

    消息中间件kafka与activemq、rabbitmq、zeromq、rocketmq的比较

    本文将详细比较Kafka、ActivemQ、RabbitMQ、ZeroMQ以及RocketMQ这些常见的消息中间件。 #### 1. Kafka Kafka是由LinkedIn公司开发并贡献给Apache基金会的一款高性能、分布式的流处理平台。Kafka主要关注于提供高...

    消息中间件技术选型,包括ActiveMQ、Apollo、RabbitMQ、RocketMQ、Kafka、Redis、ZeroMQ

    消息中间件技术选型,ActiveMQ、Apollo、RabbitMQ、RocketMQ、Kafka、Redis、ZeroMQ多维护对比分析

    消息中间件之ActiveMQ视频课程

    当前使用较多的消息中间件有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等。本套视频以Apache的ActiveMQ作为切入点,分为基础/实战/面试上中下三大部分,带你从零基础入门到熟练掌握ActiveMQ,能够结合...

    MQ选型之RabbitMQ

    在这方面,**ZeroMQ不支持**这一特性,而**ActiveMQ和RabbitMQ都支持**。持久化机制对于保证消息传递的可靠性至关重要。 ##### 3.3 综合技术实现 从技术实现角度来看,RabbitMQ具有以下优势: - **可靠性**:通过...

    p14消息中间件MJS+RabbitMQ.doc

    MJS+RabbitMQ是一种典型的消息中间件解决方案,其中RabbitMQ是基于AMQP(Advanced Message Queuing Protocol)协议的开源消息队列系统,广泛应用于各种场景,如淘宝MySQL集群的内部通信和OpenStack云平台。...

    浅谈Java消息队列总结篇(ActiveMQ、RabbitMQ、ZeroMQ、Kafka)

    常用的消息队列有 ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ 等。 Java 消息队列的应用场景: 1. 异步处理:引入消息队列,将不是必须的业务逻辑异步处理,解决系统性能瓶颈问题。 2. 应用解耦:引入...

    MQ之ActiveMQ.mmap

    当前使用较多的消息中间件有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等, 本次以Apache的ActiveMQ作为切入点,分为基础/实战/面试上中下三大部分,将带着同学们 从零基础入门到熟练掌握ActiveMQ,能够...

    rabbitmq教程

    目前市场上较为流行的消息队列框架包括RabbitMQ、ActiveMQ、ZeroMQ、Kafka以及阿里巴巴开源的RocketMQ等。本教程将重点介绍RabbitMQ及其使用方法。 #### RabbitMQ简介 RabbitMQ是一个开源的消息代理软件,基于...

    RabbitMQ 讲义.pdf

    目前市场上主流的消息队列产品包括ActiveMQ、ZeroMQ、RabbitMQ、RocketMQ和Kafka。其中,ActiveMQ基于JMS协议,而ZeroMQ是基于C语言开发,RabbitMQ基于AMQP协议并使用Erlang语言编写,RocketMQ是阿里巴巴基于JMS协议...

    rabbitMQ文档

    2. **RabbitMQ**:RabbitMQ 是基于AMQP标准的一个消息中间件,具有高可用性和扩展性,支持多种消息传递协议。 3. **RocketMQ**:阿里云开源的一款分布式消息中间件,特别适用于高并发场景下的消息推送和存储需求。 4...

    消息队列RabbitMQ介绍

    在比较RabbitMQ与其他主流消息队列产品时,如ActiveMQ、ZeroMQ和Kafka等,需要考虑消息协议、产品特性、使用场景等多个方面。RabbitMQ基于高级消息队列协议(AMQP),而其他产品可能基于不同的协议,如ZeroMQ基于TCP...

    ZeroMQ使用介绍

    ZeroMQ最初设计的目标是简化网络编程,并提供一种轻量级、高性能的解决方案来替代传统的消息中间件,如ActiveMQ等。 #### 二、ZeroMQ的特点 1. **高级别抽象**:ZeroMQ为开发者提供了多种消息模式,包括发布/订阅...

    rabbitmq学习资料

    RabbitMQ作为一个中间件,本质上是一个消息的代理,在这个领域还有ActiveMQ、RocketMQ、 ZeroMQ、Joram、Kafka等等。其中ActiveMQ是Apache公司开源的消息系统,使用Java语言开发,功能 较为完善,被大量开源项目所...

    品优购_day13_SpringJms_V1.31

    常见的消息中间件产品有ActiveMQ、RabbitMQ、ZeroMQ和Kafka。 2. **ActiveMQ**:ActiveMQ是Apache项目下的开源消息总线,完全支持JMS1.1和J2EE 1.4规范,是一个强大的消息服务提供商,适合在系统中实现模块解耦。 ...

    ZeroMQ使用环境和结构详细分析

    ZeroMQ与其他消息队列系统相比,如MSMQ、ActiveMQ和RabbitMQ,在性能方面有着明显的优势。这是因为ZeroMQ作为一个轻量级的库,不需要额外的服务或进程支持,因此在启动时间和资源占用方面表现更佳。此外,ZeroMQ支持...

    zeromq 云时代极速消息通信库

    ZeroMQ(通常缩写为ZeroMQ、0MQ或ØMQ)是一个高性能的消息库,用于在多个计算节点之间传递消息,它提供了异步消息的通信模式,可以被用作消息队列、消息代理或消息传递的中间件。ZeroMQ的主要设计目标是提供一个高...

    mq研究报告

    ActiveMQ是Java实现的消息中间件,单台性能稍逊于RabbitMQ,但提供了Web管理界面,方便用户查看消息状态、管理消费者和生产者。ActiveMQ的消息存储机制将索引保留在内存中,定期持久化到磁盘。它支持消息的延迟和...

    RabbitMQ

    应用解耦、异步、流量削锋、数据分发、错峰流控、日志收集等等...MQ衡量标准服务性能、数据存储、集群架构主流竞品分析当前市面上mq的产品很多,比如RabbitMQ、Kafka、ActiveMQ、ZeroMQ和阿里巴巴捐献给Apache的...

    通俗易懂的消息中间件ActiveMQ教程(含配套资料)

    消息中间件已经成为互联网企业应用系统内部通信的核心...当前使用较多的消息中间件有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等,本次以Apache的ActiveMQ作为切入点,将带着同学们从零基础入门ActiveMQ。

Global site tag (gtag.js) - Google Analytics