App Engine 總覽

App Engine 應用程式是由包含一或多項「服務」的單一應用程式資源所組成。每項服務皆可設為使用不同的執行階段,以及使用不同的效能設定運作。在每項服務中,您可以部署該服務的「版本」。每個版本之後會根據您設定要處理的流量多寡,在一或多個「執行個體」中執行。

應用程式的元件

當您建立應用程式資源時,您的 App Engine 應用程式會建立在 Google Cloud Platform 專案底下。App Engine 應用程式是頂層容器,包含構成應用程式的服務、版本與執行個體資源。建立 App Engine 應用程式時,所有資源皆會在您選擇的地區中建立,包含應用程式程式碼,以及設定、憑證與應用程式中繼資料的集合。

每個 App Engine 應用程式均至少含有一項服務 (即 default 服務),能夠隨您需要容納不同數量的服務版本。

下列圖表說明執行多項服務的 App Engine 應用程式階層。在本圖中,應用程式擁有兩項包含數個版本的服務,其中有兩個版本正在數個執行個體上運作:

應用程式服務、版本與執行個體的階層圖表

其他如 Cloud Datastore 等 GCP 服務則是在 App Engine 應用程式中共用。詳情請參閱建構網路服務

服務

在 App Engine 中利用「服務」將大型應用程式分解為邏輯元件,這些元件能夠安全地共用 App Engine 的功能並互相通訊。整體而言,App Engine 服務的行為類似微服務,因此,您可在單一服務中執行整個應用程式,也可設計及部署多項服務並做為一組微服務來執行。

舉例來說,處理客戶要求的應用程式可能含有多個分別處理不同工作的服務,例如:

  • 行動裝置發出的 API 要求
  • 內部的管理類型要求
  • 計費管道和資料分析等後端處理作業

App Engine 中的每項服務都是由應用程式的原始碼及對應的 App Engine 設定檔組成。您部署至服務的一組檔案即代表該服務的一個「版本」,而每當您將檔案部署至該服務時,就會在相同服務中建立額外的版本。

版本

如果您的應用程式在每項服務中具有數個版本,可讓您在應用程式的不同版本間迅速切換,以便進行復原、測試或其他暫時性事件。您可以透過遷移拆分流量的方式,將流量轉送至應用程式的一或多個特定版本。

執行個體

服務內的版本會在一或多個「執行個體」上執行。根據預設,App Engine 會配合負載調度應用程式的資源。應用程式會擴充執行中的執行個體數量,以提供穩定的效能;或是縮減閒置中的執行個體數量至最低程度,以降低成本。如要進一步瞭解執行個體,請參閱執行個體的管理方式

應用程式要求

應用程式的每項服務以及這些服務中的每個版本都必須具有不重複的名稱。您可以使用這些不重複的名稱,透過網址來指定流量並將該流量轉送到特定資源,例如:

http://my-version.my-service.my-project-id.appspot.com
https://my-version-dot-my-service-dot-my-project-id.appspot.com

系統會將傳入的使用者要求轉送到設為處理流量的服務或版本。您也可以指定要求的目標,將要求轉送至特定的服務與版本。詳情請參閱在服務之間進行通訊

記錄應用程式要求

應用程式在處理要求時,也能將本身的記錄訊息寫入 stdoutstderr 中。如要進一步瞭解應用程式的記錄,請參閱寫入應用程式記錄

限制

每個應用程式的服務數量、版本數量和執行個體數量 (針對採用手動調整資源配置的服務) 皆有限制:

說明 上限
每個應用程式的服務數量上限 5
每個應用程式的版本數量上限 5 *
每個使用手動調整資源配置版本的執行個體數量上限 20

*後端服務會計入版本的數量上限,像是外部 HTTP 負載平衡器使用的後端服務等。

並非所有專案均適用於上述限制。當您的 Google Cloud Platform 使用量隨著時間成長,這些上限也可以因應情況而提高。如果您預期使用量會大幅攀升,可以在 GCP 主控台的「App Engine 配額」頁面主動要求調整配額。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Node.js 適用的 App Engine 彈性環境文件