RabbitMq、ActiveMq、ZeroMq 和 kafka 比较

原创 2016年08月29日 10:38:04

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

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

1、 TPS比较 一

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

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



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应该具有的特性,我们无需重新发明轮子。


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1175421841/article/details/52350915

RabbitMQ

rabbitmq使用场景,安装,vhost配置,简单队列,工作队列work queues,消息应答ack与消息持久化durable,publish/subscribe发布订阅模式,routing路由模式,topic主题模式,消息确认机制(事务+confirm),spring集成
  • 2018年04月12日 09:22

rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 的比较

Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的...
  • lilun517735159
  • lilun517735159
  • 2017-12-17 13:54:51
  • 364

RabbitMq、ActiveMq、ZeroMq、kafka 之间的比较

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

RabbitMq、ActiveMq、ZeroMq、kafka之间的比较

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

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

  • 2017年10月30日 16:06
  • 59KB
  • 下载

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

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

RabbitMQ、Redis、ZeroMQ、ActiveMQ、Kafka/Jafka对比

RabbitMQ RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。同时实...
  • u010469632
  • u010469632
  • 2016-11-04 20:21:20
  • 1744

关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ

一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,Rabbi...
  • konglongaa
  • konglongaa
  • 2016-08-15 09:22:33
  • 12257

消息中间件kafka与activeMQ、rabbitMQ、zeroMQ、rocketMQ的比较

一、kafka1、不完全符合jms规范,注重吞吐量,类似udp 和 tcp2、一般做大数据吞吐的管道 我们现在的用途就是负责在各个idc之间通信3、量大对数据不是百分之百保证的,会有数据丢失,不是百分...
  • zhailihua
  • zhailihua
  • 2018-01-06 17:34:51
  • 287

Kafka, ZeroMQ, RabbitMQ, ActiveMQ ,Redis

http://www.infoq.com/cn/articles/kafka-analysis-part-1/ Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: ...
  • sreng
  • sreng
  • 2016-09-19 17:39:14
  • 446
收藏助手
不良信息举报
您举报文章:RabbitMq、ActiveMq、ZeroMq 和 kafka 比较
举报原因:
原因补充:

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