Reprinted from the message middleware Activemq, RABBITMQ, ROCKETMQ, ZeroMQ, Kafka how to choose.
Recently to the company's Message Queuing middleware selection, the market related to open source technology is very much, such as ACTIVEMQ, RABBITMQ, ZeroMQ, Kafka, as well as Alibaba's rocketmq and so on.
So much technology, how to choose it.
First for Ali's ROCKETMQ, because it is Ali Open source, for the domestic open source to maintain a cautious attitude, temporarily do not take the middleware.
So you can only select one of the Activemq, RABBITMQ, ZeroMQ, Kafka as Message Queuing middleware.
The following is a comparison of several dimensions
1. Community Active Degree
From the current information on the Internet, RABBITMQ, ActiveMQ, Zeromq three RABBITMQ is definitely the first choice.
2. Message Persistence
ZEROMQ does not support message persistence and is supported by ACTIVEMQ and RABBITMQ.
3. Core Technology
Reliability, flexible routing, clustering, transactions, highly available queues, message ordering, problem tracking, visual management tools, plug-in systems, and more.
Rabbitmq/kafka Best, Activemq second, zeromq the worst. Of course zeromq can also do, but they must manually write code to achieve, the workload is not small. Especially in reliability: durability, delivery Confirmation, publisher validation, and high availability.
4, High concurrency
There is no doubt that RABBITMQ is highest because the RABBITMQ is implemented in Erlang language, which is inherently high in concurrency and highly available.
The above reference source network is very similar. Summary is the need to choose between RABBITMQ and Kafka suitable for their own. RABBITMQ and Kafka These two are undoubtedly the market now have more than two Message Queuing middleware, from the network information and interview requirements can also be seen.
For a very complete evaluation of both, refer to: http://geek.csdn.net/news/detail/246566
How to choose.
In general, distributed messaging middleware Kafka and RABBITMQ are featured in industry recognition, service support, Reliability, maintainability, compatibility, ease of use, and so on. Kafka is superior to Rabbitmq,kafka in terms of open source licenses, product activity, performance, security, scalability, more relaxed, more active, and much higher performance than RABBITMQ, providing better security and scalability. Kafka is only slightly less functional than RABBITMQ, but it already has the main functionality.
Combining all the above results, we decided to choose Kafka.