雲訊息佇列 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匯入/匯出。
業務遷移時,您可以參考以下雙讀雙寫、分批發布的方案進行操作。
