Categories
程式開發

如何使用Amazon EventBridge 存檔和重播事件


事件驅動型架構使用事件在一個或多個應用程序的組件之間共享信息。事件告訴我們“發生了什麼事情”,可能是您收到了API 請求、文件已上傳到存儲平台或數據庫記錄已更新。業務事件描述了與您的活動相關的內容,例如已創建新客戶賬戶或付款已成功。

要使用您自己的應用程序、集成的軟件即服務(SaaS) 應用程序和AWS 服務中的事件將應用程序連接在一起,您可以使用 亞馬遜EventBridge“,它是一個無服務器事件總線,可從事件源中交付實時數據流,然後將該數據路由到 AWS Lambda” 之類的目標中。

事件告訴我們,可以與對該信息感興趣的任何人共享信息。創建新的客戶賬戶後,新添加的服務可以使用此信息,而無需更改現有界面。例如,新的欺詐檢測系統可以了解為執行安全檢查和評估可能的欺詐活動而創建的所有新客戶賬戶。

有時候您可能需要重新處理過去的事件。在很多使用案例中,重新處理很有用,例如:

修復錯誤後,您可以重新處理受影響的事件以獲得正確的結果。此方法假定您的應用程序可以多次處理同一事件。發布新功能時,您可以重新處理之前的事件,以將該功能的覆蓋範圍擴展到過去的數據。例如,添加到您的應用程序中的欺詐檢測系統不僅可以訪問新賬戶,還可以訪問過去幾週或幾個月創建的賬戶。

為了使其操作更方便,我很高興地分享一個消息,EventBridge 現在可以存檔和重播事件:

現在,您可以為發佈到事件總線的事件創建加密存檔。您可以存檔所有事件或使用 EventBridge 規則“必要模式匹配語法“對事件進行篩選。您可以無限期地存儲事件,也可以設置保留期,在保留期之後,舊事件將自動從存檔中刪除。您還可以重播存儲在檔案中的事件。事件將根據為事件總線定義的所有規則(但不是其他AWS 服務所創建的託管規則“)或您指定的規則重播。重播的事件包含一個額外的replay-name 字段,以防您需要識別它們。開始重播時,您需要定義一個時間範圍,並且只重播該時間範圍內的事件。目前,您只能在存檔事件的事件總線中重播事件。

可以對EventBridge 的所有事件流程進行存檔和重播,包括來自AWS 平台、SaaS 集成“的事件以及您自己的自定義事件。