本页面简要介绍了 AlloyDB for PostgreSQL 跨区域复制。
借助 AlloyDB 跨区域复制,您可以从主集群创建次要集群和实例,以在主区域发生中断时,在其他区域提供资源。这些次要集群和实例充当主集群和实例资源的副本。
本页面中的关键概念包括:
主要集群。单个区域中的读写集群。
次要集群。与主要集群位于不同区域的只读集群,可异步从主要集群复制数据。如果 AlloyDB 主要集群发生故障,您可以将次要集群提升为主要集群。
您最多可以为一个主集群创建五个次要集群。所有次要集群都从单个主集群复制数据。如果您提升某个次要集群,该次要集群会成为独立的主集群。
次要实例。次要集群的只读主节点。它负责接收来自主要集群的复制数据流。复制数据流会根据主要区域中的存储卷更新次要区域中的存储卷。如果将次要集群提升为主要集群,次要实例会变为主要实例。
辅助实例可以是基本实例(可用区级)或高可用性实例(区域级)。
下图展示了跨区域复制的工作原理:
图 1. AlloyDB 跨区域复制架构示例。
优势
AlloyDB 上的跨区域复制具有以下优势:
灾难恢复。如果主要集群的区域无法使用,您可以提升其他区域中的 AlloyDB Omni 资源来处理请求。
减少停机时间。在次要集群上支持高可用性 (HA) 可缩短维护事件或计划外服务中断的停机时间。
按地理位置分布的数据。按地理位置分布数据可让数据更靠近您,并缩短读取延迟时间。
读取伸缩能力增强:每个跨区域副本(或次要集群)最多可支持 20 个读取节点,让您能够进一步伸缩读取。
在不丢失任何数据的情况下切换。对于跨区域复制设置,AlloyDB 支持在主要实例和次要实例之间切换,而不会丢失任何数据。
使用跨区域复制
使用 AlloyDB 跨区域复制涉及以下任务:
创建次要集群。 次要集群是 AlloyDB 主要集群的持续更新副本。
查看次要集群。 创建次要集群后,您可以在 Google Cloud 控制台的集群页面中查看其详细信息。
添加读取池实例。 您可以向次要集群添加读取池实例。如果您要横向扩缩读取容量,可以向次要集群添加最多 20 个读取节点。
提升次要集群。 您可以从次要集群中读取数据,但在将其提升为功能齐全的独立主要集群之前,无法向其中写入数据。当您提升某个次要集群时,该集群的次要实例也会提升为具有读写功能的主要实例。
提升次要集群的主要用例是灾难恢复。如果主要集群的区域发生区域级服务中断,您可以将次要集群提升为独立的主集群,并恢复为应用提供服务。
在不丢失任何数据的情况下切换。 借助切换,您可以反转主要集群和次要集群的角色,而不会丢失任何数据。您可以执行切换操作,来测试灾难恢复设置或执行工作负载迁移。切换完成后,复制方向会反转。
如果您有多个次要集群,则接收切换命令的次要集群会成为主集群;之前的主集群会成为次要集群,并从新的主集群进行复制。所有其他次要集群都切换为从新的主集群进行复制。
切换次要集群有两个常见场景:
- 灾难恢复演练。您可以将应用切换到另一个区域,以零数据丢失的方式模拟区域性中断,从而测试灾难恢复流程。
- 区域迁移。执行计划迁移过程,将 AlloyDB 资源从主要区域迁移到其他区域。切换可确保次要集群成为恢复点目标 (RPO) 为 0 的主要集群,从而确保迁移不会丢失任何数据。
配置自动和持续备份。 默认情况下,AlloyDB 会自动将自动和持续备份配置从主要集群复制到新创建的次要集群。如果您想为次要集群使用不同的备份配置,可以在创建次要集群时修改备份配置。
如果您的主要集群使用客户管理的加密密钥 (CMEK) 对备份进行加密,请在创建次要集群时执行以下操作之一:
- 为次要集群的备份提供 CMEK 加密设置。
- 为次要集群停用备份。
如需详细了解如何使用 CMEK 加密备份,请参阅使用 CMEK
您可以在创建次要集群后修改其自动和持续备份设置。