App Hub 適用於支援的位置,可協助您在 App Hub 應用程式中,整理全域或區域 Google Cloud 基礎架構資源。位置支援功能可讓您根據應用程式元件的地理位置,以及與基礎架構其他部分的通訊方式,將元件分組,簡化管理作業。
建立應用程式時,您會將其位置定義為「全域」或「區域」。這項選擇是決定哪些服務和工作負載可納入應用程式的關鍵。此外,這項選擇也會對資料處理、共置、成本和法規遵循產生重大影響。全域和區域應用程式的定義如下:
全域應用程式:將分散於全球或多個 Google Cloud 區域的服務和工作負載,依功能分組。例如,您可以加入全域應用程式負載平衡器服務,以及分布在全球各地的後端工作負載。
區域性應用程式:將完全位於單一 Google Cloud 區域內的服務和工作負載,依功能分組。例如,您可以加入區域性應用程式負載平衡器服務及其後端工作負載,全部位於
us-central1。
為做出最符合需求的決策,請務必瞭解Google Cloud 區域和可用區,這些設計旨在提供容錯能力和高可用性。區域是獨立的地理區域,可用區則是區域內的部署區域,可做為單一故障域。如要進一步瞭解全域和區域資源,請參閱「地理位置與區域」和「Cloud 位置」。
比較全域和區域性應用程式
下表列出主要差異和考量事項,協助您選擇全域或區域性應用程式:
| 全球應用 | 區域性應用程式 | |
|---|---|---|
| 建議用途 | 最適合具有全球性或分散在多個區域的元件的應用程式。 | 如果所有應用程式元件都位於同一個 Google Cloud 區域,即使跨越多項專案,也建議使用這項設定。 |
| 資源範圍 | 可包含任何區域的全域和區域 Google Cloud 資源。 | 只能包含與應用程式位於相同單一區域的 Google Cloud 資源。您無法在區域性應用程式中註冊全域元件。 |
| 應用程式中繼資料 | 儲存在多個區域,可從任何區域存取。 Google Cloud 不支援資料落地。 |
儲存在特定區域內,但可從任何其他 Google Cloud 區域存取。 使用區域端點時,系統支援資料落地。 |
| 範例 | 管理全域負載平衡應用程式,並在各個區域中加入後端元件,集中查看分散式系統。 | 管理應用程式,其中包含 us-central1 中的所有服務和工作負載。 |
為應用程式選取最佳位置
選擇全域或區域位置時,請考量應用程式代表的業務功能架構和作業需求。以下比較是基於地理位置考量:
- 一般來說,區域性應用程式比全域應用程式更具優勢。如要降低元件延遲時間、符合資料位置規定、節省潛在網路費用,以及與區域專屬 Google Cloud功能保持一致,請選擇「區域」應用程式。
- 如果應用程式元件必須分散在多個區域,或依賴全域 Google Cloud 資源,請選擇「global」(全域) 應用程式。
您可能在多個區域中擁有 Google Cloud 資源,但這些資源並未形成單一、具凝聚力的全域函式。在這種情況下,最佳做法通常是為每個區域內的元件定義個別的區域應用程式。這種做法可為每個部署作業充分發揮區域化的優勢。
Google Cloud 資源階層定義了資料夾和專案的組織方式,也是一項基本要素。無論是區域性或全球性,只要妥善規劃階層結構,並與應用程式管理邊界保持一致,就能簡化應用程式中服務和工作負載的分組和管理作業。詳情請參閱「選擇應用程式設定模型」。
區域性應用程式的優點
全域應用程式可為分散式系統提供彈性。不過,為 App Hub 應用程式選擇區域位置,可帶來顯著優勢:
支援資料落地和法規遵循:使用區域端點存取區域應用程式時,App Hub 中繼資料支援資料落地。這有助於確保應用程式中繼資料,以及基礎Google Cloud 資源處理和儲存的資料,都保留在您選取的地理限制範圍內。這項優勢對於遵守法律、法規和組織對資料位置和資料主權的要求至關重要。
縮短延遲時間:將應用程式元件放在同一個區域,通常能盡可能縮短元件之間的網路延遲時間,進而提升應用程式效能和使用者體驗。
符合產品功能需求:某些 Google Cloud 產品或功能會要求所有互動元件位於相同區域。舉例來說,Compute Engine 執行個體只能連接位於相同區域的永久磁碟。區域性 App Hub 應用程式本身就符合這類架構限制。
最佳化成本:在不同 Google Cloud 區域之間移轉資料通常會產生網路費用,而在同一區域內的網路流量通常價格較低。在區域內建立應用程式,即可更妥善地管理及降低跨區域網路費用。
與故障域保持一致: Google Cloud 區域設計為獨立的故障域。在單一區域內部署應用程式,並使用該區域內的多個可用區來確保高可用性,可讓應用程式的容錯能力與 Google Cloud的基礎架構彈性模型保持一致。