在使用Serverless 應用引擎 SAE(Serverless App Engine)前,需瞭解該產品所涉及的概念。本文介紹與SAE產品相關的專有名詞與基本概念。
命名空間
邏輯隔離的運行環境。
包含K8s的命名空間和微服務的命名空間兩層含義。從應用的服務調用與分布式配置推送的視角隔離不同的運行環境,例如開發環境、測試環境、生產環境。
應用
應用是SAE管理的基本單位。
一個應用內通常包含一個或多個執行個體。SAE提供了完整的應用生命週期管理機制,可以完成應用從發布到運行過程的全面管理,包括應用建立、部署、啟動、復原,擴縮容等操作。
應用執行個體
應用啟動並執行最小單元。
應用通常在一個或者多個執行個體上運行,應用可以擁有多個部署版本,不同執行個體上運行著不同版本的應用程式。
微服務應用
提供服務註冊發現和服務治理的能力,例如使用SpringCloud、Dubbo、Motan、Mesh以及K8s Service架構來開發和通訊的應用。更多資訊,請參見SAE微服務相關概念和能力。
啟動命令
設定容器啟動和運行時所需要的命令。
啟動容器就是啟動主進程。啟動主進程前,需要對MySQL資料庫進行資料庫配置、初始化等操作。在製作鏡像時請在Dockerfile檔案中設定ENTRYPOINT或CMD。例如在Dockerfile中設定了ENTRYPOINT ["top", "-b"],則在容器啟動時執行該命令。
應用健全狀態檢查
在應用運行過程中,定時對應用執行個體健康情況進行檢測的系統操作。
SAE提供以下應用健全狀態檢查方式:
通過應用存活探針(Liveness)檢查應用執行個體是否存活,如果檢查結果是非存活狀態,則SAE會執行應用執行個體重啟操作。
通過應用業務探針(Readiness)檢查應用業務是否就緒、是否準備好處理使用者請求,如果未準備就緒,則屏蔽對該應用執行個體的訪問;如果成功,則開放對該應用執行個體訪問。
分布式組態管理
分布式組態管理是SAE提供的一個高效組態管理方案,它支援動態更新、環境隔離、版本控制、加密安全及細粒度許可權管理,旨在簡化組態管理流程,提升系統可用性與安全性。
您可以在SAE中使用該功能對應用配置進行集中管理和推送,同時還可以基於命名空間在不同環境間進行配置的隔離和同步。
容器
鏡像運行時的實體。
可以對容器進行建立、啟動、停止、刪除和暫停等操作。鏡像和容器的關係,類似物件導向程式設計中的類和執行個體的關係,鏡像是靜態概念,而容器是動態概念。執行個體與容器是一對一的關係。
容器鏡像
容器鏡像是一種容器化標準交付物,用於打包應用程式及其依賴的環境。可以基於Dockerfile檔案將應用構建為容器鏡像並上傳到容器鏡像倉庫中,然後您可以在測試或者生產環境中拉取容器鏡像並啟動容器。