區域 ID
REGION_ID
是 Google 根據您在建立應用程式時選取的地區所指派的簡寫代碼。雖然某些區域 ID 可能看起來與常用的國家/地區代碼相似,但此代碼並非對應國家/地區或省份。如果是 2020 年 2 月後建立的應用程式,App Engine 網址會包含 REGION_ID.r
。如果是在此日期之前建立的現有應用程式,網址中則可選擇加入地區 ID。
進一步瞭解區域 ID。
App Engine 應用程式是由包含一或多項「服務」的單一應用程式資源組成。每項服務都可以設定為使用不同的執行階段,並以不同的效能設定運作。在每項服務中,您可以部署該服務的「版本」。之後每個版本就會根據您設定的處理流量,在一或多個「執行個體」中執行。
應用程式的元件
建立應用程式資源時,系統會在 Google Cloud 專案下建立 App Engine 應用程式。App Engine 應用程式是頂層容器,包含構成應用程式的服務、版本和執行個體資源。建立 App Engine 應用程式時,所有資源皆會在您選擇的地區中建立,包含應用程式程式碼,以及設定、憑證與應用程式中繼資料的集合。
每個 App Engine 應用程式至少包含一項服務 (也就是 default
服務),能夠容納多個版本,具體取決於應用程式的帳單狀態。詳情請參閱下方的「限制」一節。
下圖說明一個執行多項服務之 App Engine 應用程式的階層結構。在本圖中,應用程式有兩項包含數個版本的服務,其中有兩個版本正在數個執行個體上活躍運作:
其他 Google Cloud 服務 (例如 Datastore) 則是在 App Engine 應用程式中共用。詳情請參閱建構網路服務。
服務
在 App Engine 中利用「服務」將大型應用程式分解為邏輯元件,讓這些元件安全地共用 App Engine 的功能並互相通訊。整體而言,App Engine 服務的運作方式類似微服務,因此,您可以在單一服務中執行整個應用程式,也可以設計與部署多項服務,做為 一組微服務來執行。
舉例來說,處理客戶要求的應用程式可能含有多個分別處理不同工作的服務,例如:
- 行動裝置發出的 API 要求
- 內部的管理類型要求
- 計費管道和資料分析等後端處理作業
App Engine 中的每項服務都是由應用程式的原始碼,以及對應的 App Engine 設定檔所組成。您部署至服務的一組檔案即代表該服務的一個「版本」,每當您將檔案部署至該服務時,就會在其中建立額外的版本。
版本
在每項服務中擁有應用程式的多個版本,能讓您在應用程式的不同版本之間迅速切換,以應付復原、測試或其他暫時性事件。您可以透過遷移或拆分流量的方式,將流量轉送至應用程式的一或多個特定版本。
執行個體
服務中的各個版本會在一或多個「執行個體」上執行。 根據預設,App Engine 會調整應用程式的資源配置來配合負載。應用程式可以向上擴充執行中的執行個體數量以提供穩定可靠的效能,或是縮減閒置中的執行個體數量以降低成本。 如要進一步瞭解執行個體,請參閱執行個體的管理方式。
應用程式要求
應用程式的每項服務,以及這些服務中每個版本的名稱都不能重複。您可以使用這些不重複的名稱,透過網址指定並轉送流量至特定資源,例如:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
請注意,VERSION-dot-SERVICE-dot-PROJECT_ID
的總長度不得超過 63 個字元,且開頭或結尾不得使用連字號。其中 VERSION
是版本名稱、SERVICE
是服務名稱,而 PROJECT_ID
是專案 ID。如果合併長度超過 63 個半形字元,您可能會看到錯誤 DNS address could not be
found.
系統即會將收到的使用者要求,轉送至設定處理流量的服務或版本。您也可以指定並轉送要求至特定的服務與版本。詳情請參閱處理要求。
記錄應用程式要求
應用程式處理要求時,也能將本身的記錄訊息寫入 stdout
和 stderr
。如要進一步瞭解應用程式的記錄檔,請參閱寫入應用程式記錄檔。
限制
您可以部署的服務與版本數量上限取決於應用程式的定價:限制 | 免費應用程式 | 付費應用程式 |
---|---|---|
每個應用程式的服務數量上限 | 5 | 210 |
每個應用程式的版本數量上限 | 15 | 210 |
每項具備基本或手動資源調度功能的服務,其執行個體數量也有限制:
每個手動/基本資源調度版本的執行個體數量上限 | ||
---|---|---|
免費應用程式 | 付費應用程式 (美國) | 付費應用程式 (歐盟) |
20 | 25 個 (us-central 為 200 個) |
25 |
應用程式網址的字元數量也有限制。
說明 | 限制 |
---|---|
VERSION-dot-SERVICE-dot-PROJECT_ID 網址的專案網址中字元上限 |
63 |