Last updated: 2020-02-26 20:12:31PDF
Advantages over RabbitMQ
** CMQ-QPS advantages: ** On the premise of high reliability, the throughput of Device and CMQ is more than four times better than that of RabbitMQ. Single cluster QPS exceeds 100000.
** RabbitMQ does not support message rewind: ** RabbitMQ does not support message rewind, while CMQ supports rewind message according to time. For example, the message is re-consumed at a certain time and a certain second a day ago. Typical business scenarios such as Consumer do order analysis, but due to the failure of program logic or dependent system, all the messages consumed today are invalid and need to be consumed again from 0: 00 yesterday. Then the time-based message playback feature is very helpful to the business.
** Comparison of consistency algorithms: ** Both CMQ and RabbitMQ can use multiple machines for hot backup to improve availability. CMQ is based on Raft algorithm and is easy to maintain. It is difficult for RabbitMQ to learn by using the self-created GM algorithm (Guaranteed Multicast),.
- Great difficulty with RabbitMQ Olympus M: The programming language of RabbitMQ is Erlang, which is not common and costs more to study.
Advantages over RocketMQ:
Data may be lost in RocketMQ in extreme cases: RocketMQ can return acknowledgment to the client when flush is not made. In this way, messages will be lost if the server crashes.
- Multiple masters and slaves are required in RocketMQ to ensure highly availability of services: ** When there is no surviving node in ISR, RocketMQ cannot ensure the availability and reliability, leading to higher cost.
Therefore, compared with traditional open source MQ applications, Tencent Cloud CMQ has the following advantages:
|Tencent Cloud CMQ||Open Source Message Broker|
|High Performance||Featuring both high performance and high reliability. The QPS of a single CMQ instance is up to 5000||Featuring either high data reliability or high performance|
|High Reliability||Based on CRMQ (Cloud Reliable Message Queue), the distributed architecture independently developed by Tencent Cloud, CMQ has been widely applied in Tencent's services such as Red Packet in QQ and WeChat and lotteryWhen each message is returned to users and written, the message service ensures that 3 copies of the data has been generated and written into different physical machines. In addition, the backend data replication mechanism provides rapid data migration when any physical machine fails and guarantees that there are always three copies of user data available. The reliability is up to 99.999999%The improved Raft consistency algorithm is used to ensure strong consistency of dataGuaranteed service availability: 99.95%||Data is stored on a single server or servers with simple master-slave structure. In this way, data SPOF problem may occur so that data cannot be rewound once lostOpen source Replicia algorithm is used. Adding or deleting a server node will cause the rebalancing of global data, leading to a sharp decline in availabilityFor example, Kafka cannot guarantee strong consistency of data by using asynchronous flush (asynchronous Replication)|