区域类型

本页面介绍了 Spanner 中提供的不同区域类型:

  • 读写区域
  • 只读地区
  • 见证者区域

读写区域

每个双区域配置都有两个读写区域,每个区域包含两个读写副本和一个见证者副本。读写副本的行为与多区域配置的读写副本类似。

每个多区域配置包含两个读写区域,每个读写区域包含两个读写副本

其中一个读写区域被指定为默认主要区域。系统会从默认主要区域中的副本为每个分块选择主要副本。在主要副本出现故障的情况下,默认主要区域中的其他副本会自动成为主要副本。事实上,主要副本会对自身进行健康检查,如果检测到健康状况不佳,则可以提前让出主要副本的身份。在大多数情况下,当默认主要区域恢复健康状态时,会自动重新成为主要区域。

写入首先在默认主要区域中处理。您可以使用 instance/leader_percentage_by_region 监控指标来监控给定区域内副本的百分比。如需了解详情,请参阅 Spanner 指标

第二个读写区域包含额外副本,这些副本可用于处理读取,并参与针对提交写入的投票。第二个读写区域中的这些额外副本有资格成为主要副本。如果默认主要区域中的所有副本都丢失(这种情况不太可能发生),系统会从第二个读写区域中选择新的主要副本。

您可以按照更改数据库的主要区域中的说明配置数据库的主要区域。如需了解详情,请参阅配置默认主要区域

只读区域

只读区域包含只读副本,可以为读写区域之外的客户端处理低延迟读取。 只读副本维护从读写副本复制的数据的完整副本。它们不参与针对提交写入的投票,也不会影响任何写入延迟时间。

某些基本多区域配置包含只读副本。您还可以创建自定义实例配置,并向自定义单区域和多区域实例配置添加只读副本,以扩缩读取能力并支持低延迟过时数据读取。 所有只读副本均需支付计算容量和数据库存储空间费用

此外,向实例配置添加只读副本不会更改实例配置的 Spanner 服务等级协议 (SLA)。如需了解详情,请参阅只读副本

见证者区域

见证者区域包含见证者副本,用于形成写仲裁并针对写入进行投票。每项 Spanner 变更都需要由大多数投票副本组成的写入仲裁(对于双区域配置,仲裁需要两个区域中的两个副本)。在读写区域不可用的情况下(这种情况很少见),见证者会变得非常重要。只有双区域和多区域配置包含见证者区域。如需详细了解主要区域和投票副本,请参阅复制

后续步骤