AWS Serverless 事件流錯誤處理
流式事件錯誤處理
流式事件源必須在分片之間保持記錄順序的一致性。
流式事件源可以是 Kinesis Data Streams 或 DynamoDB Streams。
如果 Lambda 在處理資料批次時遇到問題,它將停止處理新資料。
資料批次是指大量資料。
要發現被阻塞的分片,您可以使用 Iterator-Age 指標。
它衡量您的函式最近處理的流記錄的年齡。
故障管理
透過使用四個配置選項,您可以更好地管理故障
- 函式錯誤時拆分批次
- 最大重試次數
- 最大記錄年齡
- 失敗目標
如果發生函式錯誤,Lambda 會將批次一分為二,然後單獨處理每個半批次。
最大重試次數和最大記錄年齡限制了對失敗批次的重試次數。
失敗目標允許您將失敗的記錄傳送以供離線處理。
流式事件錯誤處理影片
W3schools.com 與 Amazon Web Services 合作,為我們的學生提供數字培訓內容。
流式事件錯誤處理的工作原理
當函式產生錯誤時,Lambda 將批次一分為二(拆分批次)。
Lambda 會單獨將每個半批次傳遞給您的函式,並保持記錄順序。
當 Lambda 拆分批次時,它還會重置重試和最大年齡引數。
Lambda 將繼續拆分批次,直到找到錯誤記錄。
Lambda 將根據最大重試次數繼續嘗試傳送錯誤記錄。
如果持續失敗,Lambda 將將其傳送到為失敗目標定義的 SNS 主題。
在移除錯誤記錄後,Lambda 會重新處理其生成的所有較小批次。
這個過程的缺點是某些記錄可能會被處理多次。
這也被稱為冪等性。
冪等性需要您來管理。