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