MQ框架的比較

MQ框架很是之多,比較流行的有RabbitMq、ActiveMq、ZeroMq、kafka。這幾種MQ到底應該選擇哪一個?要根據本身項目的業務場景和需求。下面我列出這些MQ之間的對比數據和資料。html

第一部分:RabbitMQ,ActiveMq,ZeroMq比較服務器

一、 TPS比較 一網絡

ZeroMq 最好,RabbitMq 次之, ActiveMq 最差。這個結論來自於如下這篇文章。併發

http://blog.x-aeon.com/2013/0...框架

測試環境:高併發

Model: Dell Studio 1749

 CPU: Intel Core i3 @ 2.40 GHz

 RAM: 4 Gb

 OS: Windows 7 64 bits

其中包括持久化消息和瞬時消息的測試。注意這篇文章裏面提到的MQ,都是採用默認配置的,並沒有調優。
圖片描述工具

二、TPS比較二post

ZeroMq 最好,RabbitMq次之, ActiveMq最差。這個結論來自於一下這篇文章。http://www.cnblogs.com/amitya... 性能

顯示的是發送和接受的每秒鐘的消息數。整個過程共產生1百萬條1K的消息。測試的執行是在一個Windows Vista上進行的。
圖片描述測試

三、持久化消息比較

zeroMq不支持,activeMq和rabbitMq都支持。持久化消息主要是指:MQ down或者MQ所在的服務器down了,消息不會丟失的機制。

四、技術點:可靠性、靈活的路由、集羣、事務、高可用的隊列、消息排序、問題追蹤、可視化管理工具、插件系統、社區

RabbitMq最好,ActiveMq次之,ZeroMq最差。固然ZeroMq也能夠作到,不過本身必須手動寫代碼實現,代碼量不小。尤爲是可靠性中的:持久性、投遞確認、發佈者證明和高可用性。

  因此在可靠性和可用性上,RabbitMQ是首選,雖然ActiveMQ也具有,可是它性能不及RabbitMQ。

五、高併發

從實現語言來看,RabbitMQ最高,緣由是它的實現語言是天生具有高併發高可用的erlang語言。

總結:

按照目前網絡上的資料,RabbitMQ、activeM、zeroMQ三者中,綜合來看,RabbitMQ是首選。下面提供一篇文章,是淘寶使用RabbitMQ的心得,能夠參看一些業務場景。

http://www.docin.com/p-462677...

第二部分:kafka和RabbitMQ的比較

關於這兩種MQ的比較,網上的資料並很少,最權威的的是kafka的提交者寫一篇文章。http://www.quora.com/What-are...

裏面提到的要點:

一、 RabbitMq比kafka成熟,在可用性上,穩定性上,可靠性上,RabbitMq超過kafka

二、 Kafka設計的初衷就是處理日誌的,能夠看作是一個日誌系統,針對性很強,因此它並無具有一個成熟MQ應該具有的特性

三、 Kafka的性能(吞吐量、tps)比RabbitMq要強,這篇文章的做者認爲,二者在這方面沒有可比性。

這裏在附上兩篇文章,也是關於kafka和RabbitMq之間的比較的:

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

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

總結:

二者對比後,我仍然是選擇RabbitMq,性能實際上是很強勁的,同時具有了一個成熟的MQ應該具備的特性,咱們無需從新發明輪子。

好資料推薦:

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

       二、淘寶對rabbitmq的使用:http://www.docin.com/p-462677246.html
相關文章
相關標籤/搜索