1. 程式人生 > >在服務端處理同步發送小消息的性能上Kafka>RocketMQ>RabbitMQ

在服務端處理同步發送小消息的性能上Kafka>RocketMQ>RabbitMQ

阿裏 ica 阿裏雲 ref %u log rabbit 隊列 -c

在發送小消息的場景中,三個消息中間件的表現區分明顯:

Kafka的吞吐量高達17.3w/s,遠超其他兩個產品。這主要取決於它的隊列模式保證了寫磁盤的過程是線性IO。此時broker磁盤IO已達瓶頸。

RocketMQ也表現不俗,吞吐量在11.6w/s,磁盤IO %util已接近100%。RocketMQ的消息寫入內存後即返回ack,由單獨的線程專門做刷盤的操作,所有的消息均是順序寫文件。

RabbitMQ的吞吐量5.95w/s,CPU資源消耗較高。它支持AMQP協議,實現非常重量級,為了保證消息的可靠性在吞吐量上做了取舍。我們還做了RabbitMQ在消息持久化場景下的性能測試,吞吐量在2.6w/s左右。

Kafka、RabbitMQ、RocketMQ發送小消息性能對比-雲棲社區-阿裏雲

在服務端處理同步發送小消息的性能上Kafka>RocketMQ>RabbitMQ