基於 EventBridge API Destination 構建 SaaS 集成實踐方案
01 引言
事件總線 EventBridge 是阿里雲提供的一款無服務器事件總線服務,支持阿里雲服務、自定義應用、SaaS 應用以標準化、中心化的方式接入,並能夠以標準化的 CloudEvents 1.0 協議在這些應用之間路由事件,幫助您輕鬆構建松耦合、分佈式的事件驅動架構。事件驅動架構是一種松耦合、分佈式的驅動架構,收集到某應用產生的事件後實時對事件採取必要的處理後路由至下游系統,無需等待系統響應。使用事件總線 EventBridge 可以構建各種簡單或複雜的事件驅動架構,以標準化的 CloudEvents 1.0 協議連接雲產品和應用、應用和應用等。
目前 HTTP 的不足有以下幾點:
-
HTTP 的能力較弱,比如:授權方式單一、只支持 Body 傳參、網絡互通能力未對齊。只能滿足客戶最簡單的場景。
-
用戶無法基於 API 來統一管理(修改 / 下線)Target,用戶體驗交叉口;
-
對於基於 HTTP 實現的 SaaS API,無法簡單快捷的引入到 EB 中,作爲 Target 給用戶使用。
本次新增集成中心(Integration Center)是負責 EventBridge 與外界系統對接的模塊,通過抽象與配置快速獲取第三方事件並將事件集成到第三方系統。並且優化現有 HTTP Sink 集成方案,爲用戶下游集成創造更多適配場景。
集成中心重點服務對象包括但不限於 SaaS 系統,對標 IPaaS 平臺的能力提供完整的全面的通用系統集成方案。
-
集成源(Integration Source):指集成到 EventBridge 的第三方源;
-
API 端點(API Destination ):指被集成到 EventBridge 的第三方 API 端點;
-
連接配置(Connection):是 API 端點模塊的子集,與 API 端點的平級資源,主要負責記錄連接及配置信息,連接配置可被任意 API 端點複用。
針對市場上其他雲廠商服務,EventBridge 發佈了 API 端點 Sink 能力,主要作用在於承接 EventBridge 下游端數據,幫助用戶快速完成下游數據集成。提供簡單且易於集成的三方事件推送 ,幫助客戶更加高效、便捷地實現業務上雲。
02 API 端點 Sink 概述
接入 EventBridge 應用有多種情況:用戶自定義應用、阿里雲服務、其他雲廠商服務或者其他 DB 產品。
具體而言,API 端點 Sink 事件目標是 EventBridge 支持的事件目標的一種,是通過 EventBridge 將數據投遞至指定 Web Server 中。
03 API 端點 Sink 基本使用
首先現階段 API 端點的 Sink 支持三種鑑權方式:
同時網絡支持公網和專有網絡(後續支持)。
1、創建 Connection
添加連接配置基本信息,並配置鑑權。
鏈接配置支持三種鑑權方式 :
Basic 鑑權方式 :
OAuth 2.0 鑑權方式:
添加授權接入點、授權請求方式、Client ID、ClientSecret 和授權相關的 Http 請求參數。
API Key 鑑權方式:
2、創建 ApiDestination
API 端點配置 :配置需要訪問 API 的 URL 地址和 HTTP 調用類型。
添加請求地址和請求方式:
在創建 API 端點時可以直接創建連接配置也可以選擇已有的連接配置,例如上面已經創建成功的連接配置。
3、創建 Rule
創建事件規則,用於將事件投遞到具體的 API 端點中。
步驟一 :點擊事件規則並創建事件規則
步驟二 :是選擇事件源,可以選擇阿里雲官方的或者選擇自定義事件源,這裏選擇的是自定義事件源
步驟三 :第三步是選擇 API 端點事件目標
支持自定義創建和使用已有,同時可以添加請求 HTTP 參數。
使用已有
使用選擇已有的以後只需要添加請求 HTTP 參數即可:
選擇已有的 API 端點來自於集成中心下面的 API 端點:
04 最佳實踐
常見場景案例,比如:
-
用戶可以把 RocketMQ 或者 RabbitMQ 的消息產品的消息動態投遞到不同的 Web Server 中,這樣可以讓不同的 web 平臺處理消息數據,實現了跨平臺或者跨語言的消息流通。
-
用戶可以把日誌服務 SLS 數據投遞到指定的 Web Server 或者 ELK 中,方便業務部門或者大數據平臺對日誌數據處理,可以更好的完善用戶畫像和用戶行爲分析,方便給用戶打標籤,從而可以進一步完善大數據個性化用戶推薦系統。
例如下面是訪問的國內外 SaaS 生態:
典型場景 :與 Buildkite 集成
場景介紹 :利用 EventBridge 豐富的雲產品事件源和目標集成能力,快速與 Buildkite 的持續集成和持續交付(CI / CD)平臺進行集成。
集成產品背景描述 :Buildkite 是大型持續集成和持續交付(CI / CD)平臺會有各種管理的變更、構建和作業等任務,運維人員需要快速感知、處理這些變更,以便決賽風險。
用戶痛點 :構建的事件收集困難,需要手動觸發構建和手動創建管道。
方案優勢 :EventBridge 支持集成 Buildkite 的持續集成和持續交付平臺,用戶只需要簡單配置即可創建和處理平臺的事件。
舉例介紹:可以通過 API 文檔中提供的接口實現動態的創建管道、創建構建和重試作業等。
文檔地址 :
https://buildkite.com/docs/apis/rest-api/organizations
創建 API 端點
創建規則
發佈事件,發佈完成以後可以到事件軌跡查詢詳情
典型場景 :與 Freshdesk 集成
場景介紹 :利用 EventBridge 豐富的雲產品事件源和目標集成能力,快速與 CRM(Freshdesk)進行集成。
集成產品背景描述 :不同的平臺都需要對接 CRM(Freshdesk)管理系統。
用戶痛點 :不同的平臺的事件收集困難,需要用戶自定義實現。
方案優勢 :EventBridge 支持集成 CRM(Freshdesk)平臺,用戶只需要簡單配置即可實現動態的創建會話、創建聯繫人和創建技能等事件。
舉例介紹:可以通過 API 文檔中提供的接口實現動態的創建會話、創建聯繫人和創建技能等。
文檔地址 :
https://developers.freshdesk.com/api/
創建 API 端點
創建事件規則
發佈事件,發佈完成以後可以到事件軌跡查詢詳情
典型場景 :與有成財務集成
場景介紹 :利用 EventBridge 豐富的雲產品事件源和目標集成能力,快速與有成財務進行集成
集成產品背景描述 :不同的 HR 系統或者 OA 系統需要對接有成財務時
用戶痛點 :不同的系統的事件收集困難,需要用戶自定義實現
方案優勢 :EventBridge 支持集成有成財務平臺,用戶只需要簡單配置即可實現動態生成報銷科目和財務憑證等事件
舉例介紹:比如用戶想把 mns 的消息或者其他消息產品,同步到釘釘產品等接口中,或者也可以利用消息生成報銷單據,可以生成報銷科目和財務憑證等
地址 :
https://yiqbopenapi.superboss.cc/#/share/awXPk8nW/K8Mg3rzl
創建 API 端點
創建規則
發佈事件,發佈完成以後可以到事件軌跡查詢詳情。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/mmRaq1sMTOb1rWmrUhhnww