官术网_书友最值得收藏!

3.2 錯誤處理和重試機制

FaaS平臺有可能會出現不同類型的錯誤,主要分為運行錯誤和調用錯誤(同步調用、異步調用)。根據不同的錯誤類型,重試機制也會有所差異。本節(jié)主要分析FaaS平臺對應的錯誤類型和重試策略。

1. 錯誤類型

FaaS平臺的錯誤類型說明如下。

  • 調用錯誤:調用請求被拒絕時報錯,該類型的錯誤發(fā)生在函數實際執(zhí)行之前。常見的調用錯誤如并發(fā)超出平臺限制、調用方無權限、調用請求傳參不符合要求等。
  • 運行錯誤:函數的業(yè)務代碼或運行環(huán)境返回錯誤。運行錯誤主要發(fā)生在函數的實際執(zhí)行中。常見的運行錯誤有用戶代碼運行的異常、函數運行環(huán)境發(fā)現并拋出的異常等。

2. 重試機制

針對同步的調用錯誤,平臺方不會重試,而是直接將錯誤信息返回給用戶,重試策略主要由調用方決定。針對異步調用錯誤,如超限,平臺會持續(xù)重試24小時,重試的間隔按照指數退避增加到1小時。超過24小時仍調用失敗,則將本次調用的返回結果存入死信隊列或丟棄。

針對運行錯誤中用戶代碼或運行環(huán)境錯誤,平臺會自動重試,一般會做間隔分鐘級別的兩次重試。在三次重試失敗后,錯誤事件將被存入死信隊列或丟棄。

為了方便用戶對錯誤信息進行收集和重試,各云平臺也提供了死信隊列等產品化策略,用于收集錯誤事件,分析失敗原因。此外,為了更好地收集和分析錯誤請求,用戶也可以針對調用方配置監(jiān)控告警,感知函數配置日志服務,及時處理和分析錯誤。

主站蜘蛛池模板: 密山市| 抚宁县| 兰西县| 彝良县| 松潘县| 武胜县| 宁南县| 龙南县| 平乡县| 博野县| 屏东市| 惠来县| 五莲县| 牙克石市| 涞源县| 合川市| 土默特右旗| 柳林县| 高州市| 凤城市| 内乡县| 普格县| 荆门市| 阳信县| 兴安县| 万宁市| 瓮安县| 斗六市| 新乡县| 绥化市| 班玛县| 特克斯县| 五指山市| 山阴县| 西平县| 澎湖县| 安乡县| 台中市| 亳州市| 兰州市| 甘肃省|