云消息隊列 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。
消息存儲按量使用付費,相比掛載云盤無法縮容的情況,具備極大的彈性優勢。
售賣形態更完善
提供更完善階梯系列,提供完整的包月和小時價售賣形態。
SDK兼容性約束
云消息隊列 RocketMQ 版5.x版本兼容大部分存量TCP協議SDK,服務端版本和各客戶端SDK版本的兼容情況如下表所示,例如,您購買了5.x版本的實例,客戶端使用的是5.x對應的最新版SDK,則5.x版本服務端的功能全部支持;若您的客戶端使用4.x版本對應的SDK,則基礎消息收發功能支持,部分監控指標、消息軌跡數據無法獲取。
服務端版本 | 協議 | 客戶端版本 | 兼容性 | 約束限制 |
5.x版本實例 | gRPC協議v2 | 兼容 | 云消息隊列 RocketMQ 版5.x版本實例的所有功能完全支持。 | |
Remoting協議 | 兼容 | 消息收發功能支持,但Trace、Metrics部分指標不支持展示。 說明 不支持展示的指標包括生產者指標和消費者指標。詳情參見:Metrics指標詳情。 | ||
兼容 | ||||
gRPC協議v1 | 云消息隊列 RocketMQ 版ONS TCP 2.x SDK | 不兼容 | 5.x版本實例暫不支持使用ONS TCP 2.x版本的SDK接入。 | |
HTTP協議 | 云消息隊列 RocketMQ 版ONS HTTP SDK | 不兼容 | 云消息隊列 RocketMQ 版5.x SDK不支持HTTP協議。 | |
4.x版本實例 | gRPC協議v2 | 云消息隊列 RocketMQ 版5.x SDK | 不兼容 | 4.x版本實例不支持使用5.x版本對應的SDK連接訪問。 |
Remoting協議 | 兼容 | 云消息隊列 RocketMQ 版4.x版本實例的功能完整支持。 | ||
兼容 | ||||
gRPC協議v1 | 兼容 | |||
HTTP協議 | 兼容 |
4.x和5.x功能兼容說明
云消息隊列 RocketMQ 版5.x版本實例基于大規模企業客戶的生產實踐經驗,對消息收發流程中的部分功能行為進行了優化調整。因此,部分場景下的參數配置、功能行為會有差異,一般情況下不影響主要消息收發鏈路,對于存量4.x版本升級到5.x版本,請您根據業務情況評估風險。
具體的功能行為差異如下:
功能差異項 | 4.x版本 | 5.x版本 | 說明 |
定時消息最大定時時長 | 40天 |
| 超長定時參數會給系統帶來穩定性風險,建議定時時長不要設置過長,使用短定時模擬業務場景。更多信息,請參見定時/延時消息。 如有4.x存量實例遷移,當前最大定時時長不滿足要求,請您提交工單咨詢。 |
HTTP協議支持情況 | 支持 | 不支持 | 5.x版本暫不支持HTTP協議,若您的4.x存量實例使用的HTTP協議,建議暫緩升級。 |
RAM授權策略 | 數據鏈路+管控鏈路 | 支持管控鏈路,但授權策略和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導入/導出。
業務遷移時,您可以參考以下雙讀雙寫、分批發布的方案進行操作。