RocketMQ與Kafka的區別


RocketMQ和Kafka區別

1)適用場景

  Kafka適合日志處理

  RocketMQ適合業務處理

  結論:平手,根據具體業務定奪

2)性能

  kafka單機寫入TPS號稱在百萬條/秒;

  RocketMQ大約在10萬條/秒;

  結論:追求性能的話,kafka單機性能更高

3)可靠性

  RocketMQ支持異步/同步刷盤;異步/同步 Replication;

  Kafka使用異步刷盤方式,異步Replication;

  結論:RocketMQ所支持的同步方式提升了數據的可靠性。

4)實時性

  均支持pull長輪詢,RocketMQ消息實時性更好

  結論:RocketMQ勝出。

5)支持的隊列數

  Kafka單機超過64個隊列/分區,消息發送性能降低嚴重;

  RocketMQ單機支持最高5萬個隊列,性能穩定;

  結論:長遠來看,RocketMQ勝出,這也是適合業務處理的原因之一

6)消息順序性

  Kafka某些配置下,支持消息順序,但是一台Broker宕機后,就會產生消息亂序;

  RocketMQ支持嚴格的消息順序,在順序消費場景下,一台Broker宕機后,發送消息會失敗,但是不會亂序。

  結論:RocketMQ勝出

7)消費失敗重試機制

  Kafka消費失敗不支持重試

  RocketMQ消費失敗支持定時重試,每次重試間隔時間順延

8)定時/延時消息

  Kafka不支持定時消息;

  RocketMQ支持定時消息

9)分布式事務消息

  Kafka不支持分布式事務消息

  RocketMQ支持分布式事務消息

10)消息查詢機制

  Kafka不支持消息查詢

  RocketMQ支持根據Message Id查詢消息,也支持根據消息內容查詢消息

11)消息回溯

  Kafka理論上可以按照Offset來回溯消息

  RocketMQ支持按照時間來回溯消息,精度毫秒,例如從一天之前的某分某秒開始重新消費消息

 

RocketMQ誕生的場景

1)Kafka的業務應用場景主要定位於日志傳輸;對於復雜業務支持不夠。

2)RocketMQ具有數據可靠性、數據實時性、消息隊列的個數更多等特點;更符合業務嚴謹的項目。

3)Kafka針對的是海量數據的場景,但是對數據的正確性要求不是特別嚴格。但是像關於交易等對數據的正確性要求特別高的,Kafka不是特別適合

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM