高可用性配置概览

本页面简要介绍了 Cloud SQL 实例的高可用性 (HA) 配置。如需配置新的高可用性实例或为现有实例启用高可用性,请参阅对实例启用和停用高可用性

高可用性配置概览

高可用性配置(有时称为“集群”)可提供数据冗余功能。 进行了 HA 配置的 Cloud SQL 实例也称为区域实例,位于所配置区域内的主要地区和辅助地区。在区域实例中,该配置由主实例和备用实例组成。通过将数据同步复制到每个地区的永久性磁盘,对主实例执行的所有写入操作也会应用于备用实例。如果实例或地区发生故障,此配置可减少停机时间,并且您的数据将可继续供客户端应用使用。

注意:备用实例不能用于读取查询。这与 Cloud SQL for MySQL 旧版高可用性配置不同。

针对 Cloud SQL 和 Cloud SQL 高可用性配置的区域 PD 支持已正式发布,并提供全面的服务等级协议 (SLA) 覆盖范围。HA 配置实例的费用是独立实例价格的两倍, 这其中包括 CPU、RAM 和存储费用。如需了解详情,请参阅价格页面

Cloud SQL 高可用性配置概览图。如下文所述。

故障转移概览

如果一个高可用性配置实例无响应,则 Cloud SQL 会自动切换为从备用实例传送数据。这称为故障转移。如需了解是否发生了故障转移,请查看操作日志的故障转移记录。

点击相应标签以了解故障转移对您的实例有何影响。

正常

故障转移前运行状况良好的实例的示意图

故障转移

发生故障转移时实例的示意图

故障恢复

故障恢复后实例的示意图

流程

流程如下:

  • 主实例或地区发生故障。

    主实例每一秒都会向系统数据库执行写入操作以作为检测信号。如果有多次未检测到检测信号,则系统会启动故障转移。如果主实例大约 60 秒没有响应或包含主实例的地区发生服务中断,则会发生这种情况。

  • 备用实例现在会在重新连接后传送数据。

    通过与主实例共享的静态 IP 地址,备用实例现在可从辅助地区传送数据。

要求

要使 Cloud SQL 允许故障转移,配置必须满足以下要求:

  • 主实例必须处于正常运行状态(未停止、未在进行维护,也未在执行长时间运行的操作)。
  • 辅助地区和备用实例都必须处于良好运行状态。当备用实例不响应和/或向辅助地区执行的复制操作中断时,系统会阻止故障转移操作。在 Cloud SQL 修复备用实例且辅助地区可用后,复制操作将继续进行,且 Cloud SQL 也会允许进行故障转移。

备份

必须启用自动备份才能实现高可用性。

应用和实例

非 HA 实例和 HA 实例的使用方式并无区别,因此不需要以任何特别的方式配置应用。发生故障转移时,主实例和只读副本的所有现有连接都会被关闭,重新建立连接大约需要 2-3 分钟的时间。您的应用可以使用相同的连接字符串或 IP 地址重新连接;您无需在故障转移后更新您的应用。

如需确切了解故障转移对您的应用有何影响,请手动启动故障转移

维护停机时间

维护事件会影响采用高可用性配置的主实例,具体方式与任何其他实例都相同。在此期间,您的主实例可能会发生宕机。为了最大限度地降低对服务的影响,您可以设置维护期来控制发生宕机的时间。

在实例维护期间,实例不会故障转移到备用实例。维护更新会同时应用于备用实例和主实例。

旧版 MySQL 高可用性选项

在 2021 年第 1 季度之前,您可以选择借助采用故障转移副本的旧版过程实现 MySQL 实例的高可用性。Cloud Console 不支持旧版功能,请改用 gcloud 或 cURL 命令。 请参阅“旧版配置:创建采用高可用性配置的新实例”“旧版配置:为现有实例配置高可用性”

后续步骤