博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MQ对比
阅读量:6872 次
发布时间:2019-06-26

本文共 1513 字,大约阅读时间需要 5 分钟。

转:http://blog.csdn.net/linsongbin1/article/details/47781187

 

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

 

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

1、 TPS比较 一

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

环境:

     Model: Dell Studio 1749

     CPU: Intel Core i3 @ 2.40 GHz

     RAM: 4 Gb

     OS: Windows 7 64 bits

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

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

 

 

2、TPS比较

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

 

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

 

3、持久化消息比较

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

 

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

 

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

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

 

 5、高并发

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

 

 

总结:

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

 

 

第二部分:kafka和RabbitMQ的比较

 

关于这两种MQ的比较,网上的资料并不多,最权威的的是kafka的提交者写一篇文章。

里面提到的要点:

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/lizhitao/article/category/2194509

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

你可能感兴趣的文章
Windows 2008 R2安装.NET Framework 4提示灾难性故障解决方法
查看>>
《BI那点儿事》数据流转换——条件性拆分
查看>>
vc6.0预编译
查看>>
word打不开怎么办?
查看>>
基于SOUI开发的应用展示
查看>>
PHP的错误和异常处理
查看>>
从关系型数据库到非关系型数据库
查看>>
数学书籍阅读
查看>>
Win7下硬盘安装fedora17
查看>>
externkeyword放到函数体内而导致的linkage问题
查看>>
linux常用命令 3
查看>>
Environment.SpecialFolder.CommonApplicationData
查看>>
ng-repeat-start ng-repeat-end 的使用
查看>>
Response.Redirect 打开新窗体的两种方法
查看>>
备份IIS httpd.ini 重写规则,兼容大部分版本号IISserver
查看>>
(多图) 如何快速的将16 位、12阶FIR滤波器的DSP编译到FPGA硬件上
查看>>
Java魔法堂:枚举类型详解
查看>>
[Android Traffic] 看无线电波如何影响网络操作]
查看>>
【转】Linux命令之查看文件占用空间大小-du,df
查看>>
Cadence ORCAD CAPTURE元件库介绍
查看>>