本页介绍了 Spanner 中提供的不同区域类型:
- 读写区域
- 只读地区
- 见证者区域
读写区域
每个双区域配置都有两个读写区域,每个区域包含两个读写副本和一个见证者副本。读写副本的行为与多区域配置的读写副本类似。
每个多区域配置包含两个读写区域,每个读写区域包含两个读写副本。
其中一个读写区域被指定为默认主要区域。系统会从默认主要区域中的副本中为每个分片选择主要副本。在主要副本出现故障的情况下,默认主要地区中的其他副本会自动成为主要副本。事实上,主要副本会对自身进行健康检查,如果检测到健康状况不佳,则可以提前让出主要副本的身份。在大多数情况下,当默认主要区域恢复正常状态时,会自动重新成为主要地区。
写入操作首先在默认主要区域中处理。您可以使用 instance/leader_percentage_by_region
监控指标来监控给定区域内副本的百分比。如需了解详情,请参阅 Spanner 指标。
第二个读写区域包含其他副本,这些副本可用于提供读取服务,并参与针对提交写入的投票。第二个读写区域中的这些额外副本有资格成为主要副本。如果默认主要区域中的所有副本都丢失(这种情况不太可能发生),系统会从第二个读写区域中选择新的主要副本。
您可以按照更改数据库的主要区域中的说明操作,配置数据库的主要区域。如需了解详情,请参阅配置默认主要区域。
只读区域
只读区域包含只读副本,可以为读写区域之外的客户端处理低延迟读取。 只读副本维护从读写副本复制的数据的完整副本。它们不参与针对提交写入的投票,也不会影响任何写入延迟时间。
某些基本多区域配置包含只读副本。您还可以创建自定义实例配置,并向自定义区域级和多区域实例配置添加只读副本,以扩容数据读取并支持低延迟时间过时数据读取。 所有只读副本均需支付计算容量和数据库存储空间费用。
此外,向实例配置添加只读副本不会更改实例配置的 Spanner SLA。如需了解详情,请参阅只读副本。
见证者区域
见证者区域包含见证者副本,用于形成写入法定人数并针对写入进行投票。每项 Spanner 数据变动都要求达成最小写票数(即,大多数投票副本同意;对于双区域配置,最小写票数要求两个区域中各有 2 个副本同意)。在读写区域不可用的情况下(这种情况很少见),见证者会变得非常重要。只有双区域和多区域配置包含见证区域。如需详细了解主导区域和投票副本,请参阅复制。
后续步骤
- 详细了解单区域、双区域和多区域配置。
- 详细了解复制。
- 详细了解Google Cloud 地理位置和区域。