區域 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 會調整應用程式的資源配置來配合負載。應用程式可以向上擴充執行中的執行個體數量以提供穩定可靠的效能,或是縮減閒置中的執行個體數量以降低成本。 如要進一步瞭解執行個體,請參閱「如何管理執行個體」( 標準 | 彈性)。
在 App Engine 彈性環境中,執行個體會由 Compute Engine 資源支援。App Engine 彈性環境中的執行個體會使用部分資源 (例如磁碟、CPU 和記憶體),這些資源會計入專案的 Compute Engine API 配額。如要進一步瞭解 App Engine 如何使用 Compute Engine 資源,請參閱 App Engine 彈性環境總覽。
應用程式要求
應用程式的每項服務,以及這些服務中每個版本的名稱都不能重複。您可以使用這些不重複的名稱,透過網址指定並轉送流量至特定資源,例如:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
系統即會將收到的使用者要求,轉送至設定處理流量的服務或版本。您也可以指定並轉送要求至特定的服務與版本。如需更多資訊,請參閱「服務間的通訊」( 標準 | 彈性)。
記錄應用程式要求
應用程式處理要求時,也能將本身的記錄訊息寫入 stdout
和 stderr
。如要進一步瞭解應用程式的記錄檔,請參閱「寫入應用程式記錄檔」( 標準 | 彈性)。
限制
彈性環境和標準環境的服務和版本限制相同。舉例來說,如果您在同一個應用程式中使用標準版本和彈性版本,這些版本都會計入相同的限制。詳情請參閱「配額與限制」( 標準 | 彈性)。