Cloud Run 增强多区域服务,实现高可用自动故障转移

你费了好大劲搞了多区域部署,结果故障转移全靠手动盯着,一个区域挂了,用户等半天才能恢复。这才是云原生高可用落地最大的槽点。配置复杂,自动化缺失,指望开发者自己写脚本盯着健康状态再切流量,既不靠谱也不Scalable。

Google Cloud Run这次更新的核心就一句话:通过Readiness Probes和Service Health的聚合状态,让你一条命令部署多区域服务后,负载均衡器自动秒级摘掉不健康区域。具体来说,Readiness Probes不再是简单的容器启动检查,它提供了实例级别的健康检测,知道每个实例到底能不能接入流量。然后Cloud Run把这些探针结果聚合,暴露给Serverless NEG(网络端点组)。如果你的服务挂着一个全球外部或内部负载均衡器,流量会自动远离Service Health汇报为不健康的区域,不需要你搞什么复杂的Terraform脚本或者手动切DNS。整个过程是服务端内置的,无需额外成本,你只需要按标准CPU和内存付费跑探针。这种方案对于Active-Active的多区域架构最合适,特别是数据库层也做好跨区域复制的场景。

这条更新背后透出的思路值得关注:云厂商正在把“高可用”从基础设施层的硬件冗余,升级为应用层感知的、声明式智能流量调度。 以前多区域HA是专家活,需要搞懂全球负载均衡策略、健康检查频率、DNS TTL、回切逻辑。现在Cloud Run把这一切抽象成“Service Health”这样一个聚合信号,负载均衡器只要消费这个信号就够了。这意味着运维门槛大幅降低,开发者不用再当SRE专家。对于大部分业务来说,痛点不是不知道要高可用,而是实现成本太高。这步棋如果能结合Spanner、Firestore等跨区域数据库,配合双层网络架构(公网用外部LB,私网用内部LB),基本能把99.9%以上的可用性门槛踩平。是一个非常实用的基础设施进化,值得关注。

Cloud Run multi-region services enhanced for high availability

查看原文