Google Cloud 部署原型指南的这一部分介绍了全球部署原型。
在基于全球部署原型的架构中,应用在全球多个 Google Cloud 区域运行。您可以将应用部署为分布式位置未知型堆栈或多个区域隔离的堆栈。在任何一种情况下,全球任播负载均衡器都会将流量分配到适当的区域。该应用将数据写入在所有区域都提供的同步复制数据库(如具有多区域配置的 Spanner)中,并从中读取数据。应用堆栈的其他组件也可以是全球组件,例如缓存和对象存储。
下图展示了全球部署原型的分布式位置未知型变体:
上图显示了一个位置未知型应用堆栈,其前端和后端实例(通常是微服务)分布在三个 Google Cloud 区域的多个可用区中。全球任播负载均衡器将传入流量分配到适当的前端实例。这种分布取决于实例的可用性和容量,以及它们与流量来源的地理邻近度。跨区域内部负载均衡器会根据其可用性和容量,将来自前端实例的流量分配到相应的后端实例。该应用使用可以跨区域同步复制和可用的数据库。
下图展示了使用区域隔离应用堆栈的全球部署原型的变体
上图显示了在两个 Google Cloud 区域的多个可用区中运行的区域隔离应用堆栈。此拓扑与多区域部署原型类似,但使用的是全球任播负载均衡器,而不是 DNS 路由。全局负载均衡器将传入的流量分配到距离用户最近的区域的前端。这两个应用堆栈将数据写入同步读取和跨这两个区域可用的数据库。如果两个区域中的任何一个发生服务中断,则全局负载均衡器会将用户请求发送到另一个区域的前端。
使用场景
以下部分提供了适合使用全球部署原型的应用场景示例。
面向全球用户的高可用性应用
对于为全球用户提供服务的应用,我们建议使用全球部署原型,因此,它需要高可用性和稳健性,以应对多个区域的服务中断。
优化费用和简化操作的机会
通过全球部署原型,您可以使用高可用性全球资源,例如全局负载均衡器和全球数据库。与多区域部署相比,全球部署有助于降低费用并简化操作,因为预配和管理的资源更少。
设计考虑事项
在构建基于全球部署原型的架构时,请考虑以下设计因素。
存储、复制和网络费用
在全球分布式架构中,与区域级部署相比,跨位置网络流量可能较高。您还可以存储和复制更多数据。在构建基于全球部署原型的架构时,请考虑数据存储和网络可能产生的较高费用。对于业务关键型应用,全球分布式架构的可用性优势可能超过较高的网络和存储费用。
管理对全球性资源的更改
使用高可用性全球资源的机会可帮助您优化费用并简化操作。但是,为了确保全球性资源不会成为单点故障 (SPOF),您必须谨慎管理对全球性资源的配置更改。
参考架构
如需了解可用于设计全球部署的参考架构,请参阅使用 Compute Engine 和 Spanner 进行全球部署。