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 应用选择区域级位置可带来显著优势:
支持数据驻留和合规性:当您使用区域端点访问区域应用时,App Hub 元数据支持数据驻留。这有助于确保您的应用元数据以及底层Google Cloud 资源处理和存储的数据都保留在您选择的地理位置限制范围内。这一优势对于遵守有关数据本地性和数据主权的法律、法规和组织要求至关重要。
缩短延迟时间:将应用组件共置在同一区域内通常可以最大限度地缩短组件之间的网络延迟时间,从而有可能提高应用性能和用户体验。
满足产品功能要求:某些 Google Cloud 产品或功能要求所有交互组件都位于同一区域。例如,Compute Engine 实例只能挂接位于同一区域的永久性磁盘。区域级 App Hub 应用本质上符合此类架构限制。
优化费用:不同 Google Cloud 区域之间的数据传输通常会产生网络费用,而同一区域内的网络流量通常价格较低。通过在区域级创建应用,您可以更好地管理和减少跨区域网络费用。
与故障域保持一致: Google Cloud 区域设计为独立的故障域。在单个区域内部署应用,并使用该区域内的多个可用区来实现高可用性,这可使应用的容错能力与 Google Cloud的基础架构弹性模型保持一致。