Google Cloud 区域级部署原型

Last reviewed 2024-01-31 UTC

Google Cloud 部署原型指南的这一部分介绍了区域级部署原型。

在使用区域级部署原型的云架构中,应用的实例在单个 Google Cloud 区域内的两个或多个可用区中运行。所有应用实例都使用配置文件的集中管理共享代码库。应用数据会跨架构中的所有可用区同步复制。

下图展示了在单个 Google Cloud 区域内的三个可用区中独立运行的高可用性应用的云拓扑:

区域级部署原型。

上图显示了一个具有前端和后端组件的应用,这些组件在 Google Cloud 区域的三个可用区独立运行。外部负载均衡器将用户请求转发到其中一个前端。内部负载均衡器会将来自前端的流量转发到后端。该应用使用跨可用区复制的数据库。如果发生可用区服务中断,数据库会故障切换到另一个可用区中的副本。

上图中的拓扑稳健可靠,可应对可用区服务中断,但不能防范区域服务中断。如需从区域服务中断中恢复,您必须已在第二个(故障切换)区域中部署应用的被动副本,如下图所示:

具有故障切换区域的区域级部署原型。

如果主要区域发生服务中断,您必须在故障切换区域提升数据库,并且让 DNS 路由政策将流量路由到故障切换区域中的负载均衡器。

如需优化故障切换基础架构的费用,您可以部署较少的资源,以更低的容量运行故障切换区域。

使用场景

以下部分提供了适合使用区域级部署原型的应用场景示例。

位于某一地理区域内的用户的高可用性应用

如果应用需要稳健可靠地应对可用区服务中断,但能够容忍由区域服务中断导致的一些停机时间,则我们建议使用区域级部署原型。如果应用堆栈的任何部分失败,则只要每个层级中至少有一个正常运行的组件能够正常运行,应用就会继续运行。如果某个可用区发生服务中断,应用堆栈会继续在其他可用区中运行。

应用用户的延迟时间较短

如果应用的用户位于某一地理区域(例如单个国家/地区)内,则区域级部署原型可以帮助改善应用的用户感知性能。您可以通过在距离用户最近的 Google Cloud 区域中部署应用来优化用户请求的网络延迟时间。

应用组件之间的低延迟网络

单区域架构可能适合在计算节点之间需要低延迟时间和高带宽网络连接的应用(例如批量计算)。所有资源都位于单个 Google Cloud 区域中,因此资源间网络流量保留在该区域内。资源间网络延迟时间较短,不会产生跨区域数据传输费用。区域内网络费用仍然适用。

遵守数据驻留和主权要求

区域级部署原型可帮助您满足数据驻留和运营主权的监管要求。 例如,欧洲的国家/地区可能会要求在位于该国家/地区内的数据中心存储和访问所有用户数据。为帮助满足此要求,您可以将应用部署到欧洲的 Google Cloud 区域

设计考虑事项

在构建基于区域部署原型的架构时,请考虑以下设计因素。

区域服务中断期间的停机时间

发生区域服务中断时,应用会关闭。您可以通过维护其他 Google Cloud 区域中基础架构堆栈的被动(故障切换)副本来减少由区域服务中断引起的停机时间。如果主要区域发生服务中断,您可以在故障转移区域中激活堆栈,并使用 DNS 路由政策将流量路由到以下故障切换区域的负载均衡器。

冗余资源的费用

多可用区架构具有的云资源通常比单可用区部署更多。在构建架构时,请考虑这些云资源的费用。对于需要针对可用区服务中断稳健运行的应用,多可用区架构的可用性优势可能足以证明更高的费用。

参考架构

如需了解可用于在 Compute Engine 虚拟机上设计区域级部署的参考架构,请参阅 Compute Engine 上的区域级部署