開發與維運

事件驅動架構離我們還有多遠?

作者 | 塵央

近年來,隨著雲原生、Serverless 等技術關鍵詞都成為了 buzz word,事件驅動再一次成為了雲應用架構領域的熱門詞彙。Gartner 報告將 Event-Driven Model 列為10大戰略技術趨勢之一,事件驅動架構(EDA)將成為未來微服務的主流。該報告同時做出了以下預言:

  • 到 2022 年,事件通知的軟件模型將成為超過 60% 的新型數字化商業的解決方案;
  • 到 2022 年,超過 50% 的商業組織將參與到事件驅動的數字化商業服務的生態系統當中。

美好的未來,骨感的現實

然而,拋開美好的暢想,在實際工作中,落地事件驅動架構不是一件簡單的事情,其問題主要體現在以下方面:

  • 事件無標準,獲取困難:阿里雲的雲產品,從 IaaS 到 PaaS,每天都有數以億計的事件產生,但這些雲產品沒有采用統一的標準和規範來定義描述這些事件,使得用戶無法使用同樣的方式來獲取處理事件。
  • 事件孤島嚴重,無法串聯應用:雲產品的事件天然孤立,因為缺少統一的事件中樞,使得用戶做應用處理時很難將多個產品的事件做串聯組合,無法形成規模效應,很難挖掘出有用的業務價值。

  • 事件響應能力弱:當前大多數雲產品事件的處理場景都停留在事件本身的監控、告警展示層面,屬於離線分析的場景,而云上的用戶更加需要將這些事件連接到自身的在線業務系統中,實現事件的在線響應處理,以發揮更大的價值。

  • 事件管理能力差:當前大部分雲產品的事件管理能力處於初級階段,缺乏對事件生命週期的全程管理,缺少事件長期歸檔、查找、軌跡診斷等能力,用戶使用過程中定位問題較為困難。



EventBridge 事件總線基本模型

為了解決這些現實問題,2020年11月,阿里雲發佈了 EventBridge 事件總線。作為一款無服務器事件總線服務,EventBridge 作為雲事件的樞紐,以標準化的 CloudEvents 1.0 協議連接雲產品和雲應用,提供中心化的事件治理和驅動能力,幫助用戶輕鬆構建鬆耦合、分佈式的事件驅動架構。

另外,在阿里雲之外的雲市場上有海量垂直領域的 SaaS 服務,EventBridge 將以跨產品、跨組織以及跨雲的集成與被集成能力,助力客戶打造一個完整的、事件驅動的、高效可控的上雲新界面,阿里雲EventBridge可以提供以下核心能力:

(1)海量阿里雲官方事件源:EventBridge 當前支持了阿里雲 60+雲產品的官方事件接入,用戶零成本即可獲取各類資源、運維和審計事件。

(2)多類型自定義事件源:EventBridge 支持用戶以 CloudEvent1.0 標準協議上傳自定義的事件內容,同時還支持消息、數據庫變更等類型的數據源清洗成自定義事件。

(3)豐富的事件目標和處理模式:EventBridge 支持短信、郵箱、釘釘、API 等 10+事件目標,並支持全量部分提取、常量、模板等 10+事件處理模式,用戶無需任何代碼即可完成事件驅動和處理。

(4)完善的事件管理和觸達能力:EventBridge 支持事件生命週期查詢、軌跡追蹤等診斷能力,支持跨網絡、跨賬號、跨地域的複雜事件觸達能力。

EventBridge 產品包含幾個基本概念:事件、事件總線、事件源、事件規則以及事件目標。

12.png

如上圖所示,事件由阿里雲官方、自定義、第三方 SaaS 這三類事件源產生並傳輸到事件總線,用戶在事件總線內配置事件規則以實現事件過濾、轉換處理,並最終投遞到用戶指定的事件目標。

1.典型場景

根據 EventBridge 當前已經具備的能力,給大家介紹下三個典型的案例:

場景 1:雲原生海量媒體處理業務


在線教育、遊戲直播行業,伴隨著在線課堂、直播間的產生,會有大量的媒體數據,例如視頻、音頻文件需要做剪輯、切分、轉碼等複雜處理。這類業務處理量往往存在較為陡峭的波峰波谷,業務上需要實時的事件驅動協調以及 Serverless 化的執行處理能力,以滿足高實時、低成本、極致彈性的業務需求。

1624953046329-a91ffd5e-6516-4542-a27f-cab0a1dd172a.png

在這個業務場景中,EventBridge 收集來自原始文件的上傳、變更事件,並根據業務邏輯驅動下游的函數計算做高併發、可彈性的媒體處理邏輯,在函數計算產品處理完成後將結果驅動下游的媒體通道,同時處理結果可以通過 EventBridge 觸達到釘釘、短信郵箱等離線通知渠道以及 API、消息隊列等在線渠道。使用 EventBridge+函數計算的方案彈性擴容能開強,運維成本更低、實時性更強。

場景 2:360 度業務全景


隨著企業業務規模的擴大,業務的穩定性愈發重要,為了避免故障隨著場景的複雜化而頻繁發生,對應用建設 360  度全方位的可觀測和監控體系尤為重要。傳統的應用基於雲原生重構後,享受雲原生技術紅利的同時也為應用的穩定性治理帶來了更多的複雜性,最主要的就是變更難以控制:業務依賴了整套雲的基礎設施,IaaS 層物理資源、網絡資源以及 PaaS 層雲服務,甚至依賴的上下游服務,時刻都在進行變更,用戶很難立馬感知到變更的發生以及相應的影響,而 95% 的故障都是由變更導致的。

為了解決這個問題,通過 EventBridge 打造 360 度業務全景圖,清晰地感知整個產品業務鏈路上,做了哪些變更,有哪些異常反應,這些異常反應是不是跟最近的變更有關聯,遇到特殊問題時,我們甚至可以通過自運維的方式,幫助產品更快的恢復,將影響面降低到最小。

14.png

而這些能力的擁有,離不開 EventBridge 集成多個雲產品事件的能力,也離不開 EventBridge 可以通過事件觸發多個雲產品響應的能力。事件作為一個信息的重要載體,通過 EventBridge 優雅的協調各個雲產品進行有序工作。

場景 3:新零售智慧傢俱門店


EventBridge 未來可以觸達的場景有多大?讓我們看一個新零售智慧傢俱門店的場景:

  • 倉庫的傢俱商品入庫事件、門店的顧客進店事件通過 EventBridge 實時流轉到在線分析系統,讓我們知道現在店內有哪些傢俱商品,進店顧客的傢俱偏好是什麼,並推送給商場門店的導購員或則廣告屏,幫助門店更好的下單轉化;

  • 顧客在線電子支付後,訂單信息發送到 EventBridge,並觸發第三方物流公司進行送貨上門;

  • 第三方物流公司,可以實時的將傢俱的位置信息通過 EventBridge 推送給移動端APP,客戶可以通過 APP 很方便的實時瞭解到自己的傢俱到哪了,預估還需要多久送到家;

所有這些通過EventBridge流轉的在線業務事件數據,最終通過EventBridge流轉到離線分析系統,自動生成業務報表,供管理層做績效考核或則運營決策。

1624953046315-8d2c3f14-8ecb-4d6a-b1a1-c0f91bc4b155.png

在這個場景中,EventBridge 起著關鍵的通道作用,無論是 IoT、在線業務、還是大數據場景,EventBridge 將事件信息高效的流轉,推動業務目標達成。Event 既作為在線業務數據,又作為離線分析數據,這種方式,既降低了成本,同時也提高了效率。

發佈半年,what's new

EventBridge 距離上次發佈已有半年,近一段時間在生態集成規模、事件觸達能力、事件應用集成方面有了全面的發展和增強。

  • 在生態集成規模方面,基於阿里雲審計產品實現了 30+ 雲產品官方事件源接入,涵蓋計算、存儲、網絡、數據庫等主流雲產品。
  • 在事件觸達能力全面新增跨網絡、跨地域、跨賬號等深度事件觸達能力,支持大企業客戶使用資源賬號做集中事件管理,管理其他成員賬號、其他地域的事件。
  • 在事件處理方案:新增了事件查詢和事件軌跡查詢能力,方便用戶快速定位事件驅動鏈路的異常問題。

未來展望

作為阿里雲官方的事件中樞產品,EventBridge 的核心能力將聚集於連接和集成。在連接場景上,未來 EventBridge 會擴大場景範圍,不侷限於阿里雲網絡環境,業務應用部署在線下 IDC 機房、跨雲廠商、邊緣公網環境,阿里雲 EventBridge 都將實現連接的觸達。

在集成場景上,EventBridge 會繼續擴大事件源和目標的範圍,涵蓋更多的雲產品、自定義數據源以及三方 SaaS,同時為了降低用戶事件集成的開發複雜度,EventBridge 將會根據各種應用場景構建事件應用模板,用戶只需簡單配置即可低成本集成。

如果對事件驅動架構和阿里雲 EventBridge 產品有興趣,歡迎加入釘釘群和我們交流。可搜索群號31481771, 加入 EventBridge 用戶交流群


1624953046523-447ffdb0-4426-462f-b2b2-d2d9605cecb6.png

Leave a Reply

Your email address will not be published. Required fields are marked *