跨区域副本的延迟监控指标名称是什么?

解读

在国内面试场景里,这道题常被用来区分“只用过控制台”与“真正做过跨地域高可用设计”的候选人。
面试官想确认两点:

  1. 你是否知道 Cloud SQL 把跨区域只读副本叫“跨区域只读副本(Cross-region read replica)”;
  2. 你是否能准确说出监控它的唯一官方指标,而不是把“replica lag”或“replication lag”当成答案——这两个词在 Cloud Monitoring 里属于“描述”,不是指标名。
    答错或答成 MySQL 的 Seconds_Behind_Master 会直接暴露对托管服务监控体系的不熟悉。

知识点

  • Cloud SQL 的跨区域只读副本通过异步复制实现,默认使用跨区域 Google 内部高速网络,延迟一般在百毫秒级,但无 SLA。
  • 所有引擎(MySQL、PostgreSQL、SQL Server)在 Cloud Monitoring 里共用同一套指标命名空间 cloudsql.googleapis.com
  • 衡量主实例到跨区域副本的时间延迟的指标叫 replication_lag。单位是秒(s),标签维度包括 project_id、instance_name、replica_name、region
  • 若需告警,推荐用 replication_lag > 60 s 持续 5 分钟作为阈值;国内金融客户常把阈值压到 30 s 并配合 Cloud Monitoring 的 SLO 预算消耗告警做双层保护。
  • 该指标在控制台路径:Cloud SQL 实例 → 监控 → 跨区域副本 → 复制延迟;若用 Terraform,可在 google_monitoring_alert_policy 里直接引用 metric.type="cloudsql.googleapis.com/database/replication/replication_lag"

答案

跨区域副本的延迟监控指标名称是 replication_lag,命名空间为 cloudsql.googleapis.com/database/replication/replication_lag

拓展思考

  1. 如果业务要求零数据丢失,仅靠跨区域只读副本不够,需升级为高可用(HA)主实例 + 同区域备用 + 跨区域只读副本三层架构,并启用时间点恢复(PITR);此时 replication_lag 只反映读延迟,不能代表 RPO。
  2. 国内网络偶尔出现跨境链路抖动,可把副本放在中国香港或东京 region,再配Cloud CDN + Cloud Load Balancing 让读流量就近接入,同时用 replication_lag 做自动流量切换的输入信号(通过 Cloud Functions 调用 Read Pool 的 promote 操作)。
  3. 面试加分项:主动提到 Cloud SQL Auth Proxy 的 -max_connections 参数replication_lag 联动,当延迟飙高时自动限流,保护主实例不被突发读打爆——这在国内电商大促场景里非常实用。