全部產品
Search
文件中心

ApsaraMQ for RocketMQ:4.x和5.x版本差異及相容性說明

更新時間:Aug 08, 2026

雲訊息佇列 RocketMQ 版是阿里雲基於Apache RocketMQ構建的低延遲、高並發、高可用、高可靠的分布式“訊息、事件、流”統一處理平台。隨著Apache RocketMQ 5.0版本的發布,阿里雲雲訊息佇列 RocketMQ 版將為您提供更加穩定可靠的服務端5.x版本。本文介紹雲訊息佇列 RocketMQ 版服務端5.x版本和4.x版本的差異及相容性說明。

5.x版本優勢

和歷史服務端版本相比,雲訊息佇列 RocketMQ 版5.x版本具有如下優勢:

  • 架構更先進

    全面採用儲存和計算分離的訊息架構,儲存和計算可以獨立按需水平擴充,滿足高效彈性營運和高效能大規格能力的訴求。

  • 開發門檻更低

    主推和Apache RocketMQ完全一致的用戶端SDK接入,同時相容歷史所有版本的SDK和API介面。

    支援VPC內部安全識別,上雲只需修改存取點,無需考慮代碼改造。

  • 營運門檻更低

    針對線上容量水位評估、業務峰穀彈性、日常灰階環境等常見困難問題提供自適應彈性、輕量測試環境版等解決方案,整體營運門檻和風險更低。

  • 成本更彈性

    通過雲底座技術最佳化,訊息收發計算能力支援預留+突發流量彈性組合,業務方無需為突發流量預留大量Buffer。

    訊息儲存按量使用付費,相比掛載雲端硬碟無法縮容的情況,具備極大的彈性優勢。

  • 售賣形態更完善

    提供更完善階梯系列,提供完整的包月和小時價售賣形態。

  • 全新LiteTopic模型更好支援AI應用非同步通訊

    針對AI業務任務處理耗時間長度、算力資源稀缺且成本高昂、算力利用率與業務峰穀波動矛盾等普遍痛點問題,提供了輕量主題功能與配套解決方案,開發人員可以輕鬆構建健壯、高效、可擴充的非同步通訊體系,並平滑請求峰穀,緩解後端處理壓力,從而提升資源使用率、節約成本。

各版本SDK說明

雲訊息佇列 RocketMQ 版各版本SDK和功能支援情況如下所示:

下表中"支援"表示支援該功能,"不支援"表示不支援該功能。

對比項

RocketMQ 5.x gRPC SDK

RocketMQ 5.x Remoting SDK

RocketMQ 4.x/3.x SDK

RocketMQ ONS TCP 1.x SDK

RocketMQ ONS TCP 2.x SDK

RocketMQ ONS HTTP SDK

協議

gRPC協議v2

Remoting協議

Remoting協議

Remoting協議

gRPC協議v1

HTTP協議

可訪問的執行個體

5.x系列執行個體

  • 5.x系列執行個體

  • 4.x系列執行個體

  • 5.x系列執行個體

  • 4.x系列執行個體

  • 5.x系列執行個體

  • 4.x系列執行個體

4.x系列執行個體

4.x系列執行個體

使用建議

推薦5.x gRPC SDK。

  • 多語言支援完善。

  • 後續所有新的功能和最佳化將會在5.x gRPC SDK上得到支援。

  • 如果5.x gRPC SDK的某些功能不能滿足需求,則可以考慮使用5.x Remoting SDK。

  • 原業務已使用這些版本的用戶端可繼續正常使用。

  • 5.x系列執行個體相容這些版本的SDK。

  • 不推薦使用這些版本的用戶端,這些版本的SDK不支援後續的新功能和最佳化。

  • 只能訪問4.x系列執行個體。

普通、順序、事務、定時訊息的發送功能

支援

支援

支援

支援

支援

支援

並發消費

支援

支援

支援

支援

支援

支援

順序消費

支援

支援

支援

支援

支援

支援

順序消費消費並發度最佳化

支援

不支援

不支援

不支援

不支援

不支援

廣播消費

不支援

支援

支援

支援

不支援

不支援

流式消費(串連 Flink 等)

不支援

支援

支援

不支援

不支援

不支援

訊息軌跡

支援

支援

4.5.2及以上版本支援

支援

支援

不支援

生產者和消費者用戶端Metrics 指標資料

支援

不支援

不支援

不支援

不支援

不支援

優雅下線

支援

僅支援5.x系列執行個體

不支援

不支援

不支援

不支援

使用 rocketmq-spring-boot-starter 或 ons-client 從 4.x 遷移到 5.x 時,請注意以下 Spring Boot Starter 相容性和 JDK 相容性問題:

  • Starter 替換說明:不能將 rocketmq-spring-boot-starter 直接替換為 rocketmq-v5-client-spring-boot-starter 以相容原有配置。兩者底層協議不同(前者為 Remoting 協議,後者為 gRPC 協議),配置項差異較大(name-server vs endpoints),且 SimpleConsumer 不支援 @RocketMQMessageListener 註解,需要手動調用介面消費訊息。

  • Starter 共存衝突:rocketmq-spring-boot-starter 與 rocketmq-v5-client-spring-boot-starter 不能同時引入,否則會導致類衝突或行為異常。建議根據執行個體版本選擇其中一個。

  • 混合使用風險:保留 rocketmq-spring-boot-starter 並引入 rocketmq-client-java 使用 SimpleConsumer,雖然技術上可行(協議與包路徑不同,不會直接衝突),但維護成本較高,且無法享受 v5 Starter 的統一開發體驗,不推薦此方式。

  • JDK 相容性:ons-client 1.8.4 版本不完全相容 JDK17,會導致服務無法啟動。如果使用 JDK17,請將 ons-client 升級至 1.9.1.Final 及以上版本。

4.x和5.x功能相容說明

雲訊息佇列 RocketMQ 版5.x版本執行個體基於大規模企業客戶的生產實踐經驗,對訊息收發流程中的部分功能行為進行了最佳化調整。因此,部分情境下的參數配置、功能行為會有差異,一般情況下不影響主要訊息收發鏈路,對於存量4.x版本升級到5.x版本,請您根據業務情況評估風險。

具體的功能行為差異如下:

功能差異項

4.x版本

5.x版本

說明

定時訊息最大定時時間長度

40天

  • 共用架構的執行個體最大支援7天。

  • 獨享架構的執行個體:鉑金版支援40天,Serverless獨享可以定製。

詳細說明請參見配額與限制。

超長定時參數會給系統帶來穩定性風險,建議定時時間長度不要設定過長,使用短定時類比業務情境。更多資訊,請參見定時/延時訊息。

如有4.x存量執行個體遷移,當前最大定時時間長度不滿足要求,請您提交工單諮詢。

HTTP協議支援情況

支援

不支援

5.x版本暫不支援HTTP協議,若您的4.x存量執行個體使用的HTTP協議,建議暫緩升級。

RAM授權策略

資料鏈路+管控鏈路

支援管控鏈路,但授權策略和4.x版本不一致

  • 5.x版本採用更標準的ARN和策略定義,存量使用者需要重新按照5.x版本權限原則進行授權才能正確使用5.x版本資源。

  • 5.x版本資料鏈路不再支援RAM授權策略,採用RocketMQ開源ACL2.0許可權體系。詳見使用者身份識別。

全球訊息路由

支援

請使用全球訊息複製功能。

全球訊息複製支援開源、阿里雲4.x、阿里雲5.x多種執行個體類型,提供跨地區、跨執行個體的訊息和消費進度同步能力。

訊息類型限制

不限制

強限制

5.x版本將訊息類型拆分到主題中進行獨立營運和處理,因此系統會對發送的訊息類型和主題定義的訊息類型進行強制校正,若校正不通過,則訊息發送請求會被拒絕,並傳回型別不匹配異常。詳見主旨列為約束。

購買限制

  • 雲訊息佇列 RocketMQ 版5.x版本執行個體面向所有使用者提供購買開通服務。

  • 雲訊息佇列 RocketMQ 版4.x版本執行個體僅支援針對存量使用者開放購買,建議您盡量將執行個體版本升級到5.x,如有升級訴求,請提交工單諮詢。

4.x版本至5.x版本升級說明

當前暫不支援使用升級工具將4.x版本執行個體原地升級到5.x版本。如果您需要將存量執行個體升級至5.x版本執行個體,建議您參考如下流程購買5.x版本執行個體,逐步將業務流量遷移至新的執行個體。遷移流程

說明

如上圖所示,在第二步可以採用Topic、Group匯入/匯出功能快速實現中繼資料的建立,詳情參見:Topic匯入/匯出,Group匯入/匯出。

業務遷移時,您可以參考以下雙讀雙寫、分批發布的方案進行操作。

遷移業務