There are many open source technologies on the market, such as ActiveMQ, RabbitMQ, ZeroMQ, Kafka and Alibaba’s RocketMQ.
With so many technologies, how to select the type?
First of all, RocketMQ of Ali is not adopted for the time being because it is open source of Ali.
Therefore, the message queue middleware can only be selected from ActiveMQ, RabbitMQ, ZeroMQ, and Kafka.
Let’s compare this in a couple of dimensions
1. Community activity
RabbitMQ is definitely the first choice among RabbitMQ, activeMQ and ZeroMQ.
2. Message persistence
ZeroMq does not support message persistence, ActiveMQ and RabbitMQ do.
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 is the best, ActiveMQ is next and ZeroMQ is the worst. Of course, ZeroMQ can also be done, but you have to write code to implement, a lot of work. Especially in reliability: persistence, delivery confirmation, publisher confirmation, and high availability.
4. High concurrency
RabbitMQ is arguably the highest, as RabbitMQ is implemented by the naturally high concurrency and availability of the Erlang language.
The above comparison of reference source network, much the same. The bottom line is that you need to choose between RabbitMQ and Kafka. RabbitMQ and Kafka are certainly two of the most popular message queuing middleware on the market today, as can be seen from network profiles and interview requirements.
About the two very full evaluation, reference: mp.weixin.qq.com/s/2Esqohw8L…
How to choose?
In general, distributed messaging middleware Kafka and RabbitMQ have different features in terms of industry acceptance, service support, reliability, maintainability, compatibility, ease of use, etc. Kafka is better than RabbitMQ in terms of open source licenses, product activity, performance, security and scalability. Kafka uses a looser license with higher activity and performance than RabbitMQ, providing better security and scalability. Kafka is only slightly less powerful than RabbitMQ, but it already has the main features.
Taking all of the results together, we decided on Kafka.
Recommended reading
Resources: Ten stages of learning to become an architect!
Tutorials: The most powerful Spring Boot & Cloud tutorials ever
Tools: Recommended an online creation flow chart, mind mapping software
Scan and follow our wechat official account, reply “666” to get a set of Java concurrent programming HD video tutorial.