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

3.3 生命周期

了解了事件模型后,我們模擬事件觸發的場景,繼續了解FaaS的生命周期,如圖3-3所示。

038-1

圖3-3 FaaS平臺生命周期

從圖3-3中可以看出,開發者在創建FaaS服務時,從本地上傳、選取模板創建對應的函數,函數上傳到FaaS平臺后,會提供運行環境托管用戶業務代碼。開發者可以在代碼中調用BaaS服務,這樣就完成了FaaS服務的創建。

終端用戶通過事件觸發的方式訪問FaaS服務(包含COS、消息隊列、定時任務、網關等多種觸發器)。觸發事件發生后,FaaS平臺將分配對應的實例運行用戶上傳的代碼、執行業務邏輯,并訪問對應的BaaS服務,從而實現業務訪問。

FaaS是分布式、事件驅動的架構,其核心節點為一個個函數實例。通過上述流程可知,函數實例的生命周期有以下兩個特點。

  • 函數實例按需運行,在長時間未被事件觸發時,處于關閉狀態。
  • 事件觸發時,函數才會被啟動和運行。

為了高效地復用函數實例,公有云服務商會在函數實例啟動后,將實例保留一定時間,從而避免頻繁創建和銷毀資源。因此可知,函數實例的生命周期主要有以下幾個階段。

  • 事件觸發。
  • 創建及啟動函數實例。
  • 執行函數觸發邏輯并返回結果。
  • 在實例保留時間內,如有新的請求,再次執行啟動或觸發階段。
  • 等待一段時間,若無新的事件請求,則銷毀函數實例。

了解了函數的生命周期后,在業務邏輯中,可以有針對性地提供最佳實踐,例如將變量定義、數據庫連接放在啟動階段,將事件觸發相關邏輯放在觸發階段等。

主站蜘蛛池模板: 岳普湖县| 两当县| 湖北省| 城市| 延寿县| 芮城县| 金门县| 潮安县| 镇康县| 青川县| 惠州市| 嵊泗县| 萨嘎县| 华蓥市| 即墨市| 德钦县| 富民县| 宝应县| 邢台市| 临夏市| 林甸县| 伊通| 汤阴县| 丰镇市| 江华| 闽侯县| 晴隆县| 灵丘县| 桃江县| 葵青区| 泽库县| 丰县| 安福县| 甘洛县| 丰原市| 二手房| 车致| 南开区| 塘沽区| 沁源县| 崇礼县|