在使用Serverless 應用引擎 SAE(Serverless App Engine)前,需了解該產品所涉及的概念。本文介紹與SAE產品相關的專有名詞與基本概念。
基本概念總覽
分類 | 資源 | 概念 |
基礎信息 |
命名空間
邏輯隔離的運行環境。
包含K8s的命名空間和微服務的命名空間兩層含義。從應用的服務調用與分布式配置推送的視角隔離不同的運行環境,例如開發環境、測試環境、生產環境。
應用
應用是SAE管理的基本單位。
一個應用內通常包含一個或多個實例。SAE提供了完整的應用生命周期管理機制,可以完成應用從發布到運行過程的全面管理,包括應用創建、部署、啟動、回滾,擴縮容等操作。
應用實例
應用運行的最小單元。
應用通常在一個或者多個實例上運行,應用可以擁有多個部署版本,不同實例上運行著不同版本的應用程序。
微服務應用
提供服務注冊發現和服務治理的能力,例如使用SpringCloud、Dubbo、Motan、Mesh以及K8s Service框架來開發和通信的應用。更多信息,請參見SAE微服務相關概念和能力。
任務
短時任務(Job)。
具備單機、廣播、并行計算、分片運行、定時、失敗自動重試、事件觸發等特性。
任務實例
基于任務模板創建的執行業務邏輯的具體實例,SAE單個任務中的單個實例是調度的最小單位。
任務模板
可以自動創建具體任務的模板。
可以對任務模板進行創建、修改、復制、停止和刪除等操作。任務模板中可以對任務執行時間、實例規格、并發數等配置項進行配置。任務模板和任務的關系,類似面向對象程序設計中的類和對象的關系,任務模板是靜態的概念,任務是動態的概念,可以根據單個任務模板批量創建多個任務。
任務記錄
任務執行的記錄。
可以查看和刪除創建過的任務的執行記錄,并支持通過狀態篩選,狀態分為:未執行、執行成功、執行失敗、執行中。任務記錄列表可以查看任務ID、執行狀態、創建時間、完成時間、正在運行的實例數、成功運行的實例數和運行失敗的實例數。
啟動命令
設置容器啟動和運行時所需要的命令。
啟動容器就是啟動主進程。啟動主進程前,需要對MySQL數據庫進行數據庫配置、初始化等操作。在制作鏡像時請在Dockerfile文件中設置ENTRYPOINT或CMD。例如在Dockerfile中設置了ENTRYPOINT ["top", "-b"]
,則在容器啟動時執行該命令。
應用健康檢查
在應用運行過程中,定時對應用實例健康狀況進行檢測的系統操作。
SAE提供以下應用健康檢查方式:
通過應用存活探針(Liveness)檢查應用實例是否存活,如果檢查結果是非存活狀態,則SAE會執行應用實例重啟操作。
通過應用業務探針(Readiness)檢查應用業務是否就緒、是否準備好處理用戶請求,如果未準備就緒,則屏蔽對該應用實例的訪問;如果成功,則開放對該應用實例訪問。
應用配置管理
一款在分布式架構環境中對應用配置集中管理和推送的工具類產品。
您可以在SAE中使用該功能對應用配置進行集中管理和推送,同時還可以基于命名空間在不同環境間進行配置的隔離和同步。
容器
鏡像運行時的實體。
可以對容器進行創建、啟動、停止、刪除和暫停等操作。鏡像和容器的關系,類似面向對象程序設計中的類和實例的關系,鏡像是靜態的概念,而容器是動態的概念。實例與容器是一對一的關系。
容器鏡像
容器鏡像是一種容器化標準交付物,用于打包應用程序及其依賴的環境。可以基于Dockerfile文件將應用構建為容器鏡像并上傳到容器鏡像倉庫中,然后您可以在測試或者生產環境中拉取容器鏡像并啟動容器。更多信息,請參見SAE中如何運行鏡像。