“全”事件觸發:阿里雲函數計算與事件總線產品完成全面深度集成


作者 :史明偉(世如)阿里雲高級技術專家

隨着雲原生技術的普及和落地,企業在構建業務系統時,往往需要依賴多個雲產品和服務,產品互聯、系統協同的需求越來越強。事件驅動架構將事件應用於解耦服務之間的觸發和交互, 能夠幫助用戶很好實現產品、系統之間的互聯互動。函數計算作為事件驅動架構的最佳選擇,需要為用戶提供豐富的事件源觸發能力。

對於函數計算而言,事件源接入需要清晰地了解上游每一個事件源的諸多細節和鑒權要求,同時事件處理和系統錯誤追蹤變得越加困難,集成效率成為阻礙產品能力的最大障礙。為了加速事件源集成的效率,函數計算需要找到一種統一標准的事件源接入方式,基於通用的接入層進行基礎能力和可觀測性的建設,為客戶提供豐富的事件源觸發選擇。

在這樣的背景和需求下,阿里雲函數計算(Function Compute)和阿里雲事件總線(EventBridge)產品完成全面深度集成。 這意味着函數計算和阿里雲生態各產品及業務 SaaS 系統有了統一標准的接入方式,意味着函數計算將具備接入 EventBridge 所有事件源的觸發能力,Serverless 函數計算將實現觸達阿里雲全系產品服務的“最后一公里”,為基於阿里雲生態產品提供重要的架構擴展能力。

為什么是 EventBridge?

阿里雲事件總線(EventBridge)是一種無服務器事件總線,支持將用戶的應用程序、第三方軟件即服務(SaaS)數據和阿里雲服務的數據通過事件的方式輕松的連接到一起,這里匯聚了來自雲產品及 SaaS 服務的豐富事件,EventBridge 具備事件標准化和接入標准化的能力:

  • 事件標准化:EventBridge 遵循業界標准的 CloudEvent 事件規范,匯聚了來自阿里雲生態和 EventBridge 合作伙伴豐富事件源的各種事件,同時提供了完善的事件投遞機制和消費策略,整個系統事件流轉遵循統一的事件格式;

  • 接入標准化:函數計算選擇和 EventBridge 集成,無論是產品服務類型眾多的阿里雲官方事件源,還是第三方 SaaS 系統,EventBridge 都能夠為函數計算和其它系統集成提供統一的集成界面,函數計算無需關注上游事件源的具體實現細節,只需要專注於事件處理,將事件的集成和投遞全部交給 EventBridge 來處理;

EventBridge  + Function Compute 的結合讓事件驅動型應用程序的構建變得簡單,因為它可以為您完成事件攝取和交付、安全保障、授權以及錯誤處理工作。允許您構建松散耦合和分布的事件驅動型架構,幫助提高開發人員敏捷性和應用程序彈性。函數計算系統提供了完善的函數創建, 發布和運行體系,靈活的構建能力結合極致的運行時彈性能力將幫助業務構建雲原生時代最富顯著特征的事件驅動型架構。

1.png

同時,EventBridge 能夠提供來自事件源(例如 MQ、OSS、RDB等)的實時數據流,並將該數據路由到阿里雲函數計算作為目標。您可以設置路由規則來確定發送數據的目的地,以便構建能夠實時響應所有數據源的應用程序架構。

函數計算 + EventBridge 帶來的變化?

提供 90+ 事件源接入

在和 EventBridge 集成之前, 函數計算已經實現了和阿里雲部分核心系統的集成,隨着函數計算 EventBridge 的深度集成,阿里雲生態大量服務實現了和函數計算集成, 這些服務或產品的事件將作為事件源觸發函數;目前函數計算觸發器類型已經從原來的 15+ 增加到 90+,並隨着 EventBridge 上游接入系統的增加而不斷豐富;

控制台享受一站式服務

EventBridge 和函數計算控制台數據互通,用戶在 EventBridge 控制台能夠以事件為主體選擇函數計算作為事件處理目標,在 EventBridge 控制台享受一站式服務;同樣在函數計算控制台,用戶能夠根據不同觸發器類型根據對應的事件類型編寫函數;用戶無需在函數計算控制台和事件總線控制台來回跳轉;

保證數據一致性和穩定性

用戶無論是在函數計算控制台上通過創建觸發器的方式處理指定事件源的事件;還是在 EventBridge 控制台使用函數計算作為事件處理目標,提供統一的資源視圖;同時在底層系統實現上,由於后端系統 API 的深度集成,能夠保證上層業務邏輯采用統一的 API 及處理邏輯,從技術層面確保了多個入口功能實現的一致性,為客戶系統穩定運行奠定堅實的基礎;

簡化數據消費投遞的復雜度

對於數據消費場景,EventBridge 負責了上游系統的對接和數據消費,用戶無需關心事件源系統數據具體消費方式,這部分工作統一由 EventBridge 完成;對於函數計算用戶,只需要考慮數據投遞的邏輯;用戶可以直接選擇 EventBridge 提供的下游 Target 實現數據投遞,也可以在代碼層面僅使用 EventBridge 提供的 SDK 實現數據的投遞,大大簡化了數據投遞的復雜度。

觸發器業務應用場景

下面就讓我們一起探索, 實際的業務生產環境,我們如何利用這兩把利器讓這一切簡單的發生:

自動化運營分析和展示

業務系統會產生大量動態指標數據,需要提取指標數據做運營分析和展示,通過 EventBridge 和 FC 異步化串聯實現自動化運營分析和展示。傳統方案需要基於實時計算或者離線計算產品做數據提取和分析,整個方案較重,配置復雜。數據分析結果需要做預定義的展示渲染和推送,需要手工對接業務系統,步驟繁瑣。

采用新的 EDA 架構,采用 EventBridge 對接業務自定義事件數據,規則驅動過濾邏輯簡單。采用 FC 可以輕量化實現常見的數據分析操作,代碼編寫調試更簡單;同時利用EventBridge 豐富的推送能力,可以實現分析結果快速觸達受眾。

2.png

異步解耦

以交易引擎為例,交易系統引擎作為最核心的系統,每筆交易訂單數據需要被幾十幾個下游業務系統關注,包括物品批價、發貨、積分、流計算分析等等,多個系統對消息的處理邏輯不一致,單個系統不可能去適配每一個關聯業務。結合 EventBridge 事件中心和函數計算靈活的邏輯擴展能力構建業務邏輯。

3.png

新零售大促場景 Serverless + EDA 整合

大型新零售場景會伴隨不定期大促,平時流量不大的業務在大促場景也會產生系統流量突增,極致彈性和穩定解耦的架構至關重要。基於傳統模式開發穩定可靠、高彈性的后台服務人力不足、工期緊張;大促場景保障峰值流量需要預留大量資源,平時低峰期資源閑置浪費。新零售大促場景利用函數計算 + EventBridge + API 網關搭建 Serverless 模式服務中台,支撐海量請求訪問, 系統具備極致彈性,無需預留管理 IaaS 資源,極大程度降低閑置成本;同時函數計算提供敏捷開發結合 EventBridge 低代碼異步驅動,業務迭代效率大幅提升。

4.png

總結

如果說事件背后的服務是阿里雲生態服務的積木, 那么 Serverless 函數計算將是能夠將這些積木通過輕巧的方式組合起來藝術化的最佳手段;你可以利用函數計算為這些積木塗上更絢麗的色彩,同時能夠將他們串聯起來,搭建一個具有無比想象空間的 SaaS/PaaS 服務藝術品。

EventBridge 觸發器現已在阿里雲函數計算控制台所有地域(Region)開放,歡迎大家點擊此處進行使用體驗!

關於觸發器具體創建,配置,參考阿里雲函數計算官方幫助文檔:https://help.aliyun.com/document_detail/146104.html

\


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM