雲訊息佇列 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和功能支援情況如下所示:
下表中的✅表示支援該功能,❌表示不支援該功能。
對比項 | ||||||
協議 | gRPC協議v2 | Remoting協議 | Remoting協議 | Remoting協議 | gRPC協議v1 | HTTP協議 |
可訪問的執行個體 | 5.x系列執行個體 |
|
|
| 4.x系列執行個體 | 4.x系列執行個體 |
使用建議 | 推薦5.x gRPC SDK。
|
|
| |||
普通、順序、事務、定時訊息的發送功能 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
並發消費 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
順序消費 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
順序消費消費並發度最佳化 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
廣播消費 | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
流式消費(串連 Flink 等) | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
訊息軌跡 | ✅ | ✅ | 4.5.2及以上版本支援 | ✅ | ✅ | ❌ |
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
✅ | 僅支援5.x系列執行個體 | ❌ | ❌ | ❌ | ❌ | |
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版本不一致 | |
全球訊息路由 | 支援 | 請使用Global Replicator功能。 | Global Replicator支援開源、阿里雲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匯入/匯出。
業務遷移時,您可以參考以下雙讀雙寫、分批發布的方案進行操作。
