Comparison between RabbitMq, ActiveMq, ZeroMq, kafka

There are many MQ frameworks, the more popular ones are RabbitMq, ActiveMq, ZeroMq, and kafka. Which of these MQs should I choose? According to the business scenarios and needs of your own project. Below I list the comparative data and information between these MQs.

The first part: RabbitMQ, ActiveMq, ZeroMq comparison

1, TPS comparison -

ZeroMq is the best, RabbitMq is the second, ActiveMq is the worst. This conclusion comes from the following article.

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

Test environment:

     Model: Dell Studio 1749

     CPU: Intel Core i3 @ 2.40 GHz

     RAM: 4 Gb

     OS: Windows 7 64 bits

This includes tests for persistent and transient messages. Note that the MQs mentioned in this article are all configured by default and are not tuned.


For more statistics, please refer to the article url provided by me.



2. TPS comparison 2

ZeroMq is the best, RabbitMq is next, and ActiveMq is the worst. This conclusion comes from the following article. http://www.cnblogs.com/amityat/archive/2011/08/31/2160293.html


Shows the number of messages sent and received per second. The whole process generates a total of 1 million 1K messages. Test execution was performed on a Windows Vista.





3. The persistent message comparison is

      not supported by zeroMq, and both activeMq and rabbitMq are supported. Persistent messages mainly refer to the mechanism by which MQ is down or the server where MQ is located is down, and messages will not be lost.



4. Technical points: reliability, flexible routing, clustering, transactions, high-availability queues, message sorting, problem tracking, visual management tools, plug-in systems, community

      RabbitMq is the best, ActiveMq is the second, and ZeroMq is the worst. Of course, ZeroMq can also do it, but you have to manually write the code to implement it, and the amount of code is not small. Especially in reliability: Durability, Delivery Confirmation, Publisher Confirmation, and High Availability.

      So in terms of reliability and availability, RabbitMQ is the first choice. Although ActiveMQ also has it, its performance is not as good as RabbitMQ.


5. High concurrency

From the perspective of the implementation language, RabbitMQ is the highest, because its implementation language is the erlang language with high concurrency and high availability.




Summary:

According to the current information on the Internet, among RabbitMQ, activeM, and zeroMQ, RabbitMQ is the first choice. An article is provided below, which is Taobao's experience of using RabbitMQ. You can refer to some business scenarios.

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


Part II: Comparison of kafka and RabbitMQ


Regarding the comparison of these two MQs, there is not much information on the Internet. The most authoritative one is that the submitter of kafka wrote an article.

The main points mentioned in http://www.quora.com/What-are-the-differences-between-Apache-Kafka-and-RabbitMQ :

1. RabbitMq is more mature than kafka in terms of availability, stability and reliability In the above, RabbitMq exceeds kafka

2. The original intention of Kafka's design is to process logs. It can be regarded as a log system with strong pertinence, so it does not have the characteristics that a mature MQ should have.

3. Kafka's performance (throughput, tps) is stronger than RabbitMq, and the authors of this article believe that the two are not comparable in this regard.

Two articles are attached here, which are also about the comparison between kafka and RabbitMq:

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

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


Summary:

After comparing the two, I still choose RabbitMq. The performance is actually very strong, and it has the characteristics that a mature MQ should have. We don't need to reinvent the wheel.


Good information recommendation:

            1. The most complete and powerful kafka blog: http://blog.csdn.net/lizhitao/article/category/2194509

           2. Taobao's use of rabbitmq: http://www.docin.com/p -462677246.html

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326992460&siteId=291194637