中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Kafka、RabbitMQ、RocketMQ消息中間件消息發送性能的對比

發布時間:2021-12-15 10:17:23 來源:億速云 閱讀:175 作者:柒染 欄目:云計算

這篇文章給大家介紹如何進行Kafka、RabbitMQ、RocketMQ消息中間件消息發送性能的對比,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

摘要 引言 分布式系統中,我們廣泛運用消息中間件進行系統間的數據交換,便于異步解耦。現在開源的消息中間件有很多,前段時間我們自家的產品 RocketMQ (MetaQ的內核) 也順利開源,得到大家的關注。 那么,消息中間件性能究竟哪家強? 帶著這個疑問,我們中間件測試組對常見的三類消息產品(Kafka、...

引言

分布式系統中,我們廣泛運用消息中間件進行系統間的數據交換,便于異步解耦。現在開源的消息中間件有很多,前段時間我們自家的產品 RocketMQ (MetaQ的內核) 也順利開源,得到大家的關注。

那么,消息中間件性能究竟哪家強?

帶著這個疑問,我們中間件測試組對常見的三類消息產品(Kafka、RabbitMQ、RocketMQ)做了性能比較。

Kafka是LinkedIn開源的分布式發布-訂閱消息系統,目前歸屬于Apache定級項目。Kafka主要特點是基于Pull的模式來處理消息消費,追求高吞吐量,一開始的目的就是用于日志收集和傳輸。0.8版本開始支持復制,不支持事務,對消息的重復、丟失、錯誤沒有嚴格要求,適合產生大量數據的互聯網服務的數據收集業務。

RabbitMQ是使用Erlang語言開發的開源消息隊列系統,基于AMQP協議來實現。AMQP的主要特征是面向消息、隊列、路由(包括點對點和發布/訂閱)、可靠性、安全。AMQP協議更多用在企業系統內,對數據一致性、穩定性和可靠性要求很高的場景,對性能和吞吐量的要求還在其次。

RocketMQ是阿里開源的消息中間件,它是純Java開發,具有高吞吐量、高可用性、適合大規模分布式系統應用的特點。RocketMQ思路起源于Kafka,但并不是Kafka的一個Copy,它對消息的可靠傳輸及事務性做了優化,目前在阿里集團被廣泛應用于交易、充值、流計算、消息推送、日志流式處理、binglog分發等場景。

測試目的

對比Kafka、RabbitMQ、RocketMQ發送小消息(124字節)的性能。這次壓測我們只關注服務端的性能指標,所以壓測的標準是:

不斷增加發送端的壓力,直到系統吞吐量不再上升,而響應時間拉長。這時服務端已出現性能瓶頸,可以獲得相應的系統最佳吞吐量。

測試場景

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

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>RocketMQ>RabbitMQ。

附錄:
測試環境

服務端為單機部署,機器配置如下:

CPU24核
內存94G
硬盤Seagate Constellation ES (SATA 6Gb/s) 2,000,398,934,016 bytes [2.00 TB] 7202 rpm
網卡1000Mb/s

應用版本:

消息中間件版本
Kafka0.8.2
RabbitMQ3.5.4
RocketMQ3.4.6
測試腳本
壓力端Jmeter的java客戶端
消息大小128字節
并發數能達到服務端最大TPS的最優并發
Topic分區數量8
刷盤策略Kafka和RocketMQ為異步落盤,RabbitMQ的Queue不開啟durable持久化

關于如何進行Kafka、RabbitMQ、RocketMQ消息中間件消息發送性能的對比就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平湖市| 电白县| 西宁市| 越西县| 宽城| 尚义县| 龙井市| 大姚县| 大足县| 嵊泗县| 永清县| 布拖县| 介休市| 垫江县| 灵寿县| 胶州市| 仁怀市| 通道| 霸州市| 夏津县| 桂平市| 轮台县| 巴马| 临沧市| 寻甸| 甘洛县| 丰都县| 新蔡县| 星子县| 东城区| 堆龙德庆县| 布拖县| 井冈山市| 娱乐| 焉耆| 旌德县| 新沂市| 门头沟区| 广汉市| 肇州县| 色达县|