RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总

原创 2015年08月19日 15:18:26

MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。

第一部分:RabbitMQ,ActiveMq,ZeroMq比较

1、 TPS比较 一

ZeroMq 最好,RabbitMq 次之, ActiveMq 最差。这个结论来自于以下这篇文章。

http://blog.x-aeon.com/2013/04/10/a-quick-message-queue-benchmark-activemq-rabbitmq-hornetq-qpid-apollo/

测试环境:

     Model: Dell Studio 1749

     CPU: Intel Core i3 @ 2.40 GHz

     RAM: 4 Gb

     OS: Windows 7 64 bits

其中包括持久化消息和瞬时消息的测试。注意这篇文章里面提到的MQ,都是采用默认配置的,并无调优。


更多的统计图请参看我提供的文章url。


2TPS比较

ZeroMq 最好,RabbitMq次之, ActiveMq最差。这个结论来自于一下这篇文章。http://www.cnblogs.com/amityat/archive/2011/08/31/2160293.html 

显示的是发送和接受的每秒钟的消息数。整个过程共产生1百万条1K的消息。测试的执行是在一个Windows Vista上进行的。


3、持久化消息比较

      zeroMq不支持activeMqrabbitMq支持持久化消息主要是指:MQ down或者MQ所在的服务器down了,消息不会丢失的机制。


4、技术点:可靠性、灵活的路由、集群、事务、高可用的队列、消息排序、问题追踪、可视化管理工具、插件系统、社区

      RabbitMq最好,ActiveMq次之,ZeroMq最差。当然ZeroMq也可以做到,不过自己必须手动写代码实现,代码量不小。尤其是可靠性中的:持久性投递确认发布者证实高可用性

      所以在可靠性和可用性上,RabbitMQ是首选,虽然ActiveMQ也具备,但是它性能不及RabbitMQ

 5、高并发

从实现语言来看,RabbitMQ最高,原因是它的实现语言是天生具备高并发高可用的erlang语言。


总结:

按照目前网络上的资料,RabbitMQ、activeM、zeroMQ三者中,综合来看,RabbitMQ是首选。下面提供一篇文章,是淘宝使用RabbitMQ的心得,可以参看一些业务场景。

http://www.docin.com/p-462677246.html


第二部分:kafkaRabbitMQ的比较


关于这两种MQ的比较,网上的资料并不多,最权威的的是kafka的提交者写一篇文章。http://www.quora.com/What-are-the-differences-between-Apache-Kafka-and-RabbitMQ

里面提到的要点:

1、  RabbitMq比kafka成熟,在可用性上,稳定性上,可靠性上,RabbitMq超过kafka

2、  Kafka设计的初衷就是处理日志的,可以看做是一个日志系统,针对性很强,所以它并没有具备一个成熟MQ应该具备的特性

3、  Kafka的性能(吞吐量、tps)比RabbitMq要强,这篇文章的作者认为,两者在这方面没有可比性。

这里在附上两篇文章,也是关于kafka和RabbitMq之间的比较的:

1、http://www.mrhaoting.com/?p=139

2、http://www.liaoqiqi.com/post/227


总结:

两者对比后,我仍然是选择RabbitMq,性能其实是很强劲的,同时具备了一个成熟的MQ应该具有的特性,我们无需重新发明轮子。


好资料推荐:

            1、最全最给力的kafka博客:http://blog.csdn.net/lizhitao/article/category/2194509

           2、淘宝对rabbitmq的使用:http://www.docin.com/p-462677246.html


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

RabbitMQ、ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼。下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了。(一)R...

MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka

MQ选型对比文档 综合选择RabbitMq

ActiveMQ与RabbitMQ之简单对比介绍

1. 简单介绍 双方都是鼎鼎有名的免费开源MQ项目,ActiveMq是Java,RabbitMQ是Erlang,理论上,RabbitMQ的性能比ActiveMq更强,是非Java系统的首选,Ac...

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

消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszsRabbitMQ、ActiveMQ...
  • chszs
  • chszs
  • 2013年01月07日 23:18
  • 96606

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

RabbitMQ、ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼。下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了。Rabb...

ActiveMQ RabbitMQ KafKa对比

前言:     ActiveMQ和 RabbitMq 以及Kafka在之前的项目中都有陆续使用过,当然对于三者没有进行过具体的对比,以下摘抄了一些网上关于这三者的对比情况,我自己看过之后感觉还 是可以...
  • vtopqx
  • vtopqx
  • 2017年07月30日 14:57
  • 1052

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

RabbitMQ、ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼。下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了。 ...
  • ljj_9
  • ljj_9
  • 2017年10月17日 15:40
  • 72

ActiveMQ入门到精通-ActiveMQ简介

一、ActiveMQ简介 1 消息中间件 传统消息通知技术的局限性: (1)同步通信,客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行。 (2)客户和服务对象的生命周期紧密...

RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总

RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总  MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底...

【消息队列MQ】各类MQ比较

目前业界有很多MQ产品,我们作如下对比: RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总
举报原因:
原因补充:

(最多只允许输入30个字)