RocketMQ出自阿里公司的開源產品,用 Java 語言實現,在設計時參考了 Kafka,并做出了自己的一些改進,消息可靠性上比 Kafka 更好。RocketMQ在阿里集團被廣泛應用在訂單,交易,充值,流計算,消息推送,日志流式處理,binglog分發等場景。
需要JAVA Spring Cloud大型企業分布式微服務云構建的B2B2C電子商務平臺源碼
RocketMQ的主要特性有:
是一個隊列模型的消息中間件,具有高性能、高可靠、高實時、分布式特點;
Producer、Consumer、隊列都可以分布式;
Producer向一些隊列輪流發送消息,隊列集合稱為Topic,Consumer如果做廣播消費,則一個consumer實例消費這個Topic對應的所有隊列,如果做集群消費,則多個Consumer實例平均消費這個topic對應的隊列集合;
能夠保證嚴格的消息順序;
提供豐富的消息拉取模式;
高效的訂閱者水平擴展能力;
實時的消息訂閱機制;
億級消息堆積能力;
較少的依賴;
RocketMQ的優點有:
單機支持 1 萬以上持久化隊列;
RocketMQ 的所有消息都是持久化的,先寫入系統 PAGECACHE,然后刷盤,可以保證內存與磁盤都有一份數據;
模型簡單,接口易用(JMS 的接口很多場合并不太實用);
性能非常好,可以大量堆積消息在broker中;
支持多種消費,包括集群消費、廣播消費等。
各個環節分布式擴展設計,主從HA;
RocketMQ的缺點有:
支持的客戶端語言不多,目前是java及c++,其中c++不成熟;
RocketMQ社區關注度及成熟度也不及前兩者;
沒有web管理界面,提供了一個CLI(命令行界面)管理工具帶來查詢、管理和診斷各種問題;
沒有在消息隊列的核心部分實現JMS等接口;
大型企業分布式互聯網電子商務平臺,推出PC+微信+APP+云服務的云商平臺系統,其中包括B2B、B2C、C2C、O2O、新零售、直播電商等子平臺,框架源碼下載地址