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 资源,请选择全球应用。
您可能拥有位于多个区域的 Google Cloud 资源,这些资源无法形成单一、有凝聚力的全球功能。在这种情况下,最佳实践通常是为每个区域中的组件定义单独的区域应用。此方法可最大限度地提高每次部署的区域化优势。
Google Cloud 资源层次结构(用于定义文件夹和项目的整理方式)也至关重要。精心规划的层次结构与应用管理边界(无论是区域级还是全球级)保持一致,可简化应用中服务和工作负载的分组和管理。如需了解详情,请参阅选择应用设置模型。
区域性应用的好处
全局应用可为分布式系统提供灵活性。不过,为 App Hub 应用选择区域位置可带来显著优势:
支持数据驻留和合规性:应用中心元数据不提供数据驻留。不过,借助区域应用,您可以确保底层Google Cloud 资源处理和存储的实际数据保留在您选择的地理限制范围内。此优势对于遵守有关数据存放区域的法律、法规和组织要求至关重要。
缩短延迟时间:将应用组件放置在同一区域内通常可以最大限度地缩短组件之间的网络延迟时间,从而可能提升应用性能和用户体验。
满足产品功能要求:某些 Google Cloud 产品或功能要求所有交互组件都位于同一区域。例如,Compute Engine 实例只能挂接位于同一区域中的永久性磁盘。区域级 App Hub 应用本身就符合此类架构限制。
优化费用:不同 Google Cloud 区域之间的数据传输通常会产生网络费用,而同一区域内的网络流量价格通常较低。 通过以区域性方式创建应用,您可以更好地管理和减少跨区域网络费用。
与故障网域保持一致: Google Cloud 区域旨在成为独立的故障网域。在单个区域内部署应用并使用该区域内的多个可用区来实现高可用性,可使应用的容错能力与 Google Cloud的基础设施弹性模型保持一致。