区域类型

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

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

读写区域

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

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

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

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

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

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

只读区域

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

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

此外,向实例配置添加只读副本不会更改实例配置的 Spanner SLA。如需了解详情,请参阅只读副本

见证者区域

见证者区域包含见证者副本,用于形成写入法定人数并针对写入进行投票。每项 Spanner 数据变动都要求达成最小写票数(即,大多数投票副本同意;对于双区域配置,最小写票数要求两个区域中各有 2 个副本同意)。在读写区域不可用的情况下(这种情况很少见),见证者会变得非常重要。只有双区域和多区域配置包含见证区域。如需详细了解主导区域和投票副本,请参阅复制

后续步骤