阿里雲訊息佇列 RocketMQ 5.0 全新升級:訊息、事件、流融合處理平臺

阿里巴巴雲原生發表於2021-11-04

從“訊息”到“訊息、事件、流”的大融合

訊息佇列作為當代應用的通訊基礎設施,微服務架構應用的核心依賴,通過非同步解耦能力讓使用者更高效地構建分散式、高效能、彈性健壯的應用程式。

從資料價值和業務價值角度來看,訊息佇列的價值不斷深化。訊息佇列中流動的業務核心資料涉及整合傳輸、分析計算和處理等不同環節與場景。伴隨著不斷演進,我們可以預見訊息佇列勢必在資料通道、事件整合驅動、分析計算等場景不斷產生新價值,創造新的“化學反應”。

1.png

RocketMQ 誕生於阿里巴巴內部電商系統,發展至今日,其核心架構經歷了多次關鍵演進:

早在 2007 年,淘寶電商系統做服務化拆分的時候,就誕生了第一代訊息服務 Notify,這是 RocketMQ 最早雛形。Notify 採用了關係型資料庫作為儲存,使用推模式。在阿里淘寶這種高頻交易場景中,具有非常廣泛地應用。

在 2007-2013 年期間,隨著阿里集團業務發展,不僅需要交易場景非同步呼叫,同時需要支援大量傳輸埋點資料、資料同步。此時,內部衍生出 MetaQ 以及 RocketMQ3.0 版本,這兩個版本開始探索自研儲存引擎,採用了自研專有訊息儲存,支援了單機海量 Topic,並前瞻性地去除了 Zookeeper 等元件的外部依賴。在十年後的今天,我們看到去各種 keeper 已成為整個訊息領域的發展主流。

經歷了前三代的內部業務打磨後,阿里巴巴積極參與開源並將 RocketMQ3.0 貢獻到開源社群,並於 2017 年從 Apache 孵化器畢業,成為中國首個非 Hadoop 生態體系的 Apache 社群頂級專案。此後,RocketMQ 也開始服務於阿里雲企業客戶。秉承開源、商業、內部三位一體發展策略,18 年釋出的 4.x 版,在高可靠低延遲方面重點優化,構建了全新的低延遲儲存引擎和多場景容災解決方案、並提供了豐富的訊息特性。這也使得 RocketMQ 成為金融級的業務訊息首選方案。

上個月社群釋出了 RocketMQ5.0-preview 版,正式宣告 5.0 的到來。RocketMQ5.0 將不再侷限於訊息解耦的基本場景,更是通過統一核心、儲存的優勢,提供訊息、事件、流一體化的處理能力。

2.png

回顧 RocketMQ 發展的十餘年,良好的社群環境和商業支援使得大量企業開發者可以很方便的跟進業務特點和訴求進行選型和驗證。在社群活躍影響力方面,RocketMQ 社群專案收穫 15000+Star,活躍的貢獻者有 400+ 位,多語言、生態連線等周邊活躍專案 30+ 個,深受社群開發者歡迎。在應用規模方面,RocketMQ 作為金融級業務訊息方案,積累了網際網路遊戲、線上教育、金融證券、銀行、政企能源、汽車出行等眾多行業數以萬計的企業客戶。同時,在阿里巴巴內部擔負業務核心鏈路,每天流轉萬億級訊息流量,扛過了歷屆雙十一的零點峰值。在行業評測方面,RocketMQ 也多次斬獲大獎。

3.png

官宣:阿里雲新一代 RocketMQ “訊息、事件、流”融合處理平臺

今天釋出阿里雲訊息佇列 RocketMQ 版 5.0,我們稱之為一站式“訊息、事件、流”融合處理平臺。

新版本核心誕生兩大新亮點,首先是訊息核心場景的擴充套件和佈局,RocketMQ 5.0 不再侷限於訊息解耦場景,將全新佈局事件驅動和訊息流式處理場景;其次則是一站式融合處理的技術架構和趨勢。

4.png

“訊息、事件、流”一站式融合處理的技術架構可以實現一份訊息儲存,支援訊息的流式計算、非同步投遞、整合驅動多種場景,極大地降低業務人員運維多套系統的技術複雜度和運維成本。可以說,無論是微服務的指令呼叫、非同步通知,還是 CDC 變更日誌、行為埋點資料,亦或是資源運維、審計事件,統一的 RocketMQ5.0 產品棧都能統一處理。

重大發布一:RocketMQ 基礎架構全新升級

首先,最重要的升級是阿里雲 RocketMQ 的技術架構全面煥新。

5.png

全新的 RocketMQ5.0 版將通用的儲存邏輯下沉,集中解決訊息儲存的多副本、低延遲、海量佇列分割槽等技術問題,將上層的訊息處理和剝離出完全的無狀態計算層,主要完成協議適配、許可權管理、消費狀態、可觀測運維體系支援。得益於存算分離的架構設計,從 SDK 接入到線上運維全鏈路帶來全面提升:

  1. 輕量版 SDK 的開放和全鏈路可觀測系統的提升:同時支援 4.x 通訊協議和全新的 gRPC 通訊協議,並內建 OpenTelemetry 埋點支援,新版本 SDK 新增了 10 餘個指標埋點。
  2. 訊息級負載均衡:新版本 SDK 不再參與實際儲存佇列的負載均衡,訊息負載均衡將更加輕量,以單條訊息為排程最小單元。
  3. 多網路訪問支援:新版本支援單一例項同時暴露公網、內網等訪問形式,方便客戶多網路接入訪問。
  4. 海量分級儲存:新版本開放分級儲存歷史訊息儲存能力,訊息低成本無大小限制,最長儲存 30 天。冷熱資料進行分離設計,極大降低消費歷史訊息對例項的效能影響。

重大發布二:RocketMQ Streaming 雲上最佳實踐——訊息ETL

訊息基礎架構的能力提升之外,阿里雲 RocketMQ 在 Streaming 流式處理場景推出了輕量級訊息 ETL 功能。

6.png

使用者在資料庫變更、終端資料上報、後臺埋點日誌等場景產生的訊息,典型的消費場景就是資料清洗轉化,同時再儲存到外部的儲存和離線分析、線上分析系統中。傳統實現方案需要搭建 Flink 等重量級實時計算服務或者自建消費應用做訊息處理。而使用商業版 RocketMQ ETL 功能,簡單控制檯配置即可實現訊息的清洗和轉化。RocketMQ ETL 功能有三大優勢:

  1. 輕量無依賴:作為阿里雲訊息原生功能,使用時不需要部署外部計算服務或消費程式,方案更輕量。
  2. 開發門檻低:內建常見清洗轉化模板,滿足絕大多數訊息內容處理需求,並支援使用者快速編寫自定義函式來支援特殊的業務邏輯。整體開發成本非常低,1 小時即可完成業務上線。
  3. Serverless 彈性:無需預先估算容量,採取 Serverless 無伺服器模式,實現按需彈性伸縮。
     

重大發布三:EDA 雲上最佳實踐——事件中心 EventBridge

本次 RocketMQ 最後一個釋出點是在事件驅動的業務場景的佈局和演進。早在 2018 年,Gartner 評估報告將 EDA(Event-Driven-Architecture) 列為十大戰略技術趨勢之一,事件驅動架構將成為未來微服務主流。我們首先下一個定義:

事件驅動其本質是對訊息驅動的再升級,是企業IT架構深度演進的下一個必然階段。

事件驅動架構和訊息驅動架構的區別和關聯主要集中於以下三點:

  1. EDA 更加強調深層次解耦:訊息驅動是同一業務、組織系統內不同元件之間在技術架構層面的呼叫解耦,其資訊封裝和處理都是有預期、預定義的。事件驅動適配是更寬泛的業務、組織系統,基於事件的解耦上下游之間無需有預期和行為定義,上下游統一遵循標準化的規範,這是更深度的解耦。
  2. EDA 更加強調連線能力:訊息驅動更多是單一系統內的呼叫,而事件驅動往往會涉及到不同的地域、賬戶主體以及三方 SaaS 的協同,事件驅動的一大特徵就是生態的強連線能力。
  3. EDA 更加強調 Serverless 低程式碼開發:類比於訊息和微服務的協同關係,未來業務架構 Serverless 化的大趨勢會推動業務開發模式逐步轉向低程式碼配置化。事件驅動的另一大特徵就是低程式碼開發,基於豐富的工具能力,業務側不需要像訊息驅動一樣編寫大量的生產消費程式碼。

7.png

因此,阿里雲統一事件中心 EventBridge 產品帶來如下能力:

  1. 統一標準化的事件整合生態:作為阿里雲事件中心,整合 80 餘款雲產品的業務事件,支援 800 多種事件型別,使用者使用 EventBridge 可以一次性管理所有云產品資源的變更、操作使用事件,避免對接多個產品介面的重複性勞動。
  2. 全球事件互通網路:貫徹事件驅動強連線的屬效能力,本次釋出了全球事件互通網路,首批支援國內五大地域事件互通。企業客戶簡單配置即可實現跨賬號、跨地域、跨網路的事件聚合和流轉。
  3. Serverless 低程式碼開發:內建十餘種事件目標和處理模板,涵蓋了大多數業務場景,客戶簡單配置、低程式碼,無需部署服務即可完成事件的驅動和處理。

面向未來:堅定推動“訊息、事件、流”大融合的發展

RocketMQ5.0 的釋出標誌著阿里雲訊息從訊息領域正式邁向了“訊息、事件、流”場景大融合的新局面。未來阿里雲訊息產品的演進也將繼續圍繞訊息、事件、流核心場景而開展。訊息基礎架構本身也必將步伐不斷,繼續朝著 Serverless 彈性、強容災能力、可觀測免運維方向推進,給客戶帶來高效能、高可靠、強容災的高 SLA 服務;並在 Streaming 的場景會基於客戶業務訴求,聯合生態產品持續推出更多的訊息處理計算服務;打造面向未來的企業整合模式,聯合生態夥伴和開源社群大力推動事件驅動進一步發展。

8.png

點選“下方連結”?,觀看企業級網際網路架構分論壇重要回顧。
https://yunqi.aliyun.com/2021...

瞭解更多訊息佇列 RocketMQ5.0 相關資訊,請搜尋微訊號(AlibabaCloud888)新增雲原生小助手!入群即可獲雲原生一手資訊~

相關文章