You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需触发冷启动即可检查Cloud Run服务的运行状态?

无需唤醒Cloud Run服务的运行状态检查方案(无凭证客户端场景)

方案1:利用Cloud Run负载均衡的快速失败探测头

当Cloud Run服务无运行实例时,发送携带特定请求头的轻量探测请求,可避免触发冷启动:

  • 若服务已运行,负载均衡会直接返回100 Continue或2xx响应;
  • 若服务处于休眠状态,负载均衡会直接返回503 Service Unavailable,不会启动实例。

示例curl命令:

curl -I -H "Connection: Close" -H "Expect: 100-continue" https://your-cloud-run-service-url
  • 响应码为2xx/100:服务正在运行
  • 响应码为503:服务未启动

注意:该方法依赖Cloud Run负载均衡的特定行为,建议先在你的部署区域测试验证。

方案2:搭配轻量独立状态指示器

部署一个极低成本的无服务器服务(如Cloud Functions或最小实例数为0的Cloud Run服务),专门记录目标服务的运行状态:

  • 目标Cloud Run服务启动时,向状态指示器发送"上线"信号;
  • 目标服务收到终止信号SIGTERM(即将休眠前),向状态指示器发送"下线"信号;
  • 客户端只需向状态指示器发送公开HTTP请求,即可获取目标服务状态,该请求不会触发任何冷启动。

状态指示器逻辑可极简实现:用内存变量或Cloud Firestore单文档存储状态,依托Cloud Run可靠的终止信号保证状态准确性。

方案3:基于WebSocket超时的快速探测

直接尝试建立WebSocket连接,但设置极短超时(如1秒):

  • 若服务已运行,WebSocket会在超时内连接成功;
  • 若服务未运行,冷启动流程会因客户端提前断开而终止,不会完成实例唤醒。

注意:需根据部署区域的Cloud Run冷启动时长调整超时阈值,确保在实例启动前断开连接。


内容的提问来源于stack exchange,提问作者xetra11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:50:24