1. 程式人生 > >Kafka、RabbitMQ、RocketMQ 訊息中介軟體的對比 | 訊息傳送效能篇

Kafka、RabbitMQ、RocketMQ 訊息中介軟體的對比 | 訊息傳送效能篇

摘要: 訊息中介軟體效能究竟哪家強? 帶著這個疑問,我們訊息佇列測試小組對常見的三類訊息產品(Kafka、RabbitMQ、RocketMQ)做了效能比較。

阿里雲訊息佇列測試小組 出品

分散式系統中,我們廣泛運用訊息中介軟體進行系統間的資料交換,便於非同步解耦。現在開源的訊息中介軟體有很多,我們自家的產品 RocketMQ (阿里雲訊息佇列(MQ)的核心) 也順利開源,得到大家的關注。

那麼,訊息中介軟體效能究竟哪家強?

帶著這個疑問,我們訊息佇列測試小組對常見的三類訊息產品(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。

作為專業的阿里雲訊息佇列測試小組,不禁想問,阿里雲的MQ和Kafka相比,哪家強?

阿里雲訊息佇列 Kafka VS Apache Kafka

阿里雲訊息佇列 MQ 推出 Kafka 企業級訊息服務(MQ-Kafka),全面融合 Kafka 開源生態,相容 Kafka API,做到無縫遷移,打造更安全、更可靠、更易運維的 Kafka 企業級訊息服務。

測試小組此次也對Apache Kafka和訊息佇列 Kafka 企業級訊息服務在效能、可用性、可靠性等方面做了如下對比:

無縫遷移阿里雲 MQ-Kafka 的多方優勢:

業務系統基於現有的 Kafka 程式碼與生態進行開發,無需任何改造,即可無縫遷移到阿里雲訊息佇列提供的 Kafka 訊息服務。

安全防護

Aliware MQ 提供的 Kafka 訊息服務利用 SASL 機制對使用者身份進行認證,並利用 SSL 對通道進行加密,提供更加安全的訊息服務。

高可靠/高可用

訊息持久化落盤到訊息佇列,支援數多副本以及主備自動切換,可靠性達99.99999999%,服務可用性高達99.9%。

高效能

支援在萬級 Topic,以及海量的訊息堆積的情況下,也始終保持超高的效能。

統一運維

提供一整套包括資源申請、資源授權、訊息堆積查詢、訊息全鏈路軌跡、監控告警等運維服務,提升使用者的產品體驗。

訊息互通

您可以通過 Kafka Client 傳送訊息,MQ Client 訂閱訊息。反之亦然,真正做到 Aliware MQ 與 Kafka 訊息完全互通。

免費試用

Kafka 企業級訊息服務正在公測,使用者可免費使用。

相關推薦

【轉】【選型】【MQ】訊息中介軟體對比

https://blog.csdn.net/huayushuangfei/article/details/80866642    訊息中介軟體對比 為什麼選擇RocketMQ 價效比,社群活躍度  價效比之“性”:  效能:阿里支撐,經受住淘寶,

訊息中介軟體保證訊息一致性解決方案

1、訊息中介軟體的應用場景 (1)非同步通訊 (2)解耦 (3)併發緩衝 2、訊息傳送和投遞的不可靠性 (1)分散式網路進行就引入了資料傳輸的不確定性 (2)也就是CAP理論中的P(分割槽容錯性) (3)跨網路通訊產生了分散式事務問題 3、訊息傳

訊息中介軟體kafka與activeMQrabbitMQzeroMQrocketMQ的比較

一、kafka 1、不完全符合jms規範,注重吞吐量,類似udp 和 tcp 2、一般做大資料吞吐的管道 我們現在的用途就是負責在各個idc之間通訊 3、量大對資料不是百分之百保證的,會有資料丟失,不是百分百送達(amq和rmq等有重發機制,而kafka沒有);在吞吐量有提升 ,在這方面

KafkaRabbitMQRocketMQ訊息中介軟體對比 —— 訊息傳送效能和區別

分散式系統中,我們廣泛運用訊息中介軟體進行系統間的資料交換,便於非同步解耦。現在開源的訊息中介軟體有很多,前段時間我們自家的產品 RocketMQ (MetaQ的核心) 也順利開源,得到大家的關注。 那麼,訊息中介軟體效能究竟哪家強? 帶著這個疑問,我們中介軟體測

架構師日記——KafkaRabbitMQRocketMQ訊息中介軟體對比

分散式系統中,我們廣泛運用訊息中介軟體進行系統間的資料交換,便於非同步解耦。現在開源的訊息中介軟體有很多,前段時間我們自家的產品 RocketMQ (MetaQ的核心) 也順利開源,得到大家的關注。 那麼,訊息中介軟體效能究竟哪家強? 帶著這個疑問,我們中

訊息中介軟體/佇列:ActiveMQRabbitMQKafkaRocketMQZeroMq

Kafka最高,RabbitMq 次之, ActiveMq 最差。 2)吞吐量對比: kafka具有高的吞吐量,內部採用訊息的批量處理,zero-copy機制,資料的儲存和獲取是本地磁碟順序批量操作,具有O(1)的複雜度,訊息處理的效率很高。 rabbitMQ在吞吐量方面稍遜於kafka,他們的出發點不一樣,

KafkaRabbitMQRocketMQ訊息中介軟體對比 —— 訊息傳送效能(轉自阿里中介軟體

引言分散式系統中,我們廣泛運用訊息中介軟體進行系統間的資料交換,便於非同步解耦。現在開源的訊息中介軟體有很多,前段時間我們自家的產品 RocketMQ (MetaQ的核心) 也順利開源,得到大家的關注。那麼,訊息中介軟體效能究竟哪家強?帶著這個疑問,我們中介軟體測試組對常見的三類訊息產品(Kafka、Rabb

KafkaRabbitMQRocketMQ訊息中介軟體對比

訊息中介軟體現在有不少,網上很多文章都對其做過對比,在這我對其做進一步總結與整理。RocketMQ淘寶內部的交易系統使用了淘寶自主研發的Notify訊息中介軟體,使用Mysql作為訊息儲存媒介,可完全水平擴容,為了進一步降低成本,我們認為儲存部分可以進一步優化,2011年初,

KafkaRabbitMQRocketMQ 訊息中介軟體對比 | 訊息傳送效能

摘要: 訊息中介軟體效能究竟哪家強? 帶著這個疑問,我們訊息佇列測試小組對常見的三類訊息產品(Kafka、RabbitMQ、RocketMQ)做了效能比較。 阿里雲訊息佇列測試小組 出品 分散式系統中,我們廣泛運用訊息中介軟體進行系統間的資料交換,便於非同步解耦。現在

KafkaRabbitMQRocketMQ訊息中介軟體對比

引言分散式系統中,我們廣泛運用訊息中介軟體進行系統間的資料交換,便於非同步解耦。現在開源的訊息中介軟體有很多,前段時間我們自家的產品 RocketMQ (MetaQ的核心) 也順利開源,得到大家的關注。那麼,訊息中介軟體效能究竟哪家強?帶著這個疑問,我們中介軟體測試組對常見的三類訊息產品(Kafka、Rabb

訊息中介軟體系列五:RabbitMQ的使用場景(非同步處理應用解耦)

一、非同步處理 場景: 使用者註冊,寫入資料庫成功以後,傳送郵件和簡訊。 準備工作: 1)安裝RabbitMQ,參考前面的文章 2)新建一個名為RabbitMQAsyncProc的maven web工程,在pom.xml檔案裡面引入如下依賴 <project xmlns="http://maven.a

訊息中介軟體學習總結(1)——RocketMQ之專訪RocketMQ聯合創始人:專案思路技術細節和未來規劃

編者按 這些年開源氛圍越來越好,各大IT公司都紛紛將一些自研程式碼開源出來。2012年,阿里巴巴開源其自研的第三代分散式訊息中介軟體——RocketMQ。經過幾年的技術打磨,阿里稱基於RocketMQ技術,目前雙十一當天訊息容量可達到萬億級。 2016年11月,阿里將Ro

為什麼使用訊息佇列?訊息佇列有什麼優點和缺點?KafkaActiveMQRabbitMQRocketMQ 都有什麼優點和缺點?

面試題 為什麼使用訊息佇列? 訊息佇列有什麼優點和缺點? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什麼區別,以及適合哪些場景? 面試官心理分析 其實面試官主要是想看看: 第一,你知不知道你們系統裡為什麼要用訊息佇列這個東西? 不少候選人,說自己專案裡用了 Redis、M

訊息中介軟體(ActiveMQ RabbitMQ KafKa對比

轉摘自:https://blog.csdn.net/vtopqx/article/details/76382934 1)TPS比較: Kafka最高,RabbitMq 次之, ActiveMq 最差。2)吞吐量對比: kafka具有高的吞吐量,內部採用訊息的批量處理,zero-copy機制,資料

ActiveMQRabbitMQRocketMQKafka有什麼優點和缺點

ActiveMQ   單機吞吐量:萬級   topic數量都吞吐量的影響:   時效性:ms級   可用性:高,基於主從架構實現高可用性   訊息可靠性:有較低的概率丟失資料   功能支援:MQ領域的功能極其完備   總結:     非常成熟,功能強大,在早些年業內大量的公司以及專案中都有應用

【知識積累】(四)訊息中介軟體 - 升級版

一、訊息釋出 二、訊息訂閱 三、總結 1、ActiveMQ的特性(1)、多種語言和協議客戶端。語言:Java,C,C++,C#,Ruby,Perl,Python,PHP。應用協議:OpenWire,Stomp REST,WS Noti

KafkaActiveMQRabbitMQRocketMQ效能對比

特性 ActiveMQ RabbitMQ RocketMQ Kafka 單機吞吐量 萬級,比 RocketMQ、Kafka 低一個數量級 同 Activ

Java訊息佇列總結只需一解決ActiveMQRabbitMQZeroMQKafka

一、訊息佇列概述 訊息佇列中介軟體是分散式系統中重要的元件,主要解決應用解耦,非同步訊息,流量削鋒等問題,實現高效能,高可用,可伸縮和最終一致性架構。目前使用較多的訊息佇列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、

面試題:KafkaActiveMQRabbitMQRocketMQ 有什麼優缺點

面試題 1.為什麼使用訊息佇列? 2.訊息佇列有什麼優點和缺點? 3.Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什麼區別,以及適合哪些場景? 面試官心理分析 其實面試官主要是想看看: 第一,你知不知道你們系統裡為什麼要用訊息佇列這個東西? 不少

訊息中介軟體MQ(二)模式應用場景常用協議

1.訊息中介軟體模式分類 1.1 點對點 1.2釋出/訂閱 2訊息中介軟體應用場景 2.1非同步通訊 有些業務不想也不需要立即處理訊息。訊息佇列提供了非同步處理機制,允許使用者把一個訊息放入佇列,但並不立即處理它。想向佇列中放入多少訊息就放多少,然後在需要的