(六十九)java版spring cloud+spring boot+redis多租戶社交電子商務平臺-消息隊列之RocketMQ

電子商務平臺源碼請加企鵝求求:叄伍叄六貳四柒二伍九。RocketMQ出自阿里公司的開源產品,用 Java 語言實現,在設計時參考了 Kafka,並作出了本身的一些改進,消息可靠性上比 Kafka 更好。RocketMQ在阿里集團被普遍應用在訂單,交易,充值,流計算,消息推送,日誌流式處理,binglog分發等場景。java

RocketMQ的主要特性有:c++

是一個隊列模型的消息中間件,具備高性能、高可靠、高實時、分佈式特色;web

Producer、Consumer、隊列均可以分佈式;分佈式

Producer向一些隊列輪流發送消息,隊列集合稱爲Topic,Consumer若是作廣播消費,則一個consumer實例消費這個Topic對應的全部隊列,若是作集羣消費,則多個Consumer實例平均消費這個topic對應的隊列集合;工具

可以保證嚴格的消息順序;性能

提供豐富的消息拉取模式;命令行

高效的訂閱者水平擴展能力;設計

實時的消息訂閱機制;日誌

億級消息堆積能力;中間件

較少的依賴;

RocketMQ的優勢有:

單機支持 1 萬以上持久化隊列;

RocketMQ 的全部消息都是持久化的,先寫入系統 PAGECACHE,而後刷盤,能夠保證內存與磁盤都有一份數據;

模型簡單,接口易用(JMS 的接口不少場合並不太實用);

性能很是好,能夠大量堆積消息在broker中;

支持多種消費,包括集羣消費、廣播消費等。

各個環節分佈式擴展設計,主從HA;

RocketMQ的缺點有:

支持的客戶端語言很少,目前是java及c++,其中c++不成熟;

RocketMQ社區關注度及成熟度也不及前二者;

沒有web管理界面,提供了一個CLI(命令行界面)管理工具帶來查詢、管理和診斷各類問題;

沒有在消息隊列的核心部分實現JMS等接口;

相關文章
相關標籤/搜索