天天看點

RabbitMq、ActiveMq、ZeroMq、kafka之間的比較,資料彙總

本文轉載自:http://blog.csdn.net/linsongbin1/article/details/47781187

----------------------------------------------------------------------------------------------------

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,都是采用預設配置的,并無調優。

RabbitMq、ActiveMq、ZeroMq、kafka之間的比較,資料彙總

更多的統計圖請參看我提供的文章url。

2、tps比較二

zeromq 最好,rabbitmq次之, activemq最差。這個結論來自于一下這篇文章。http://www.cnblogs.com/amityat/archive/2011/08/31/2160293.html 

顯示的是發送和接受的每秒鐘的消息數。整個過程共産生1百萬條1k的消息。測試的執行是在一個windows vista上進行的。

RabbitMq、ActiveMq、ZeroMq、kafka之間的比較,資料彙總

3、持久化消息比較

      zeromq不支援,activemq和rabbitmq都支援。持久化消息主要是指: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

第二部分:kafka和rabbitmq的比較

關于這兩種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