首页 > 解决方案 > 使用云运行启动spring boot时如何解决超时

问题描述

我想在 CloudRun 上启动 spring boot 模块。CloudRun 有 GCLB,所以在 spring boot 模块启动完成之前,当 TCP 级别的通信成为可能时,它将被并入集群。

你知道如何解决这个问题吗?

标签: google-cloud-run

解决方案


当请求进入已扩展到 0 的 Cloud Run 服务时,会创建一个新实例。请求保持大约 10 秒,等待实例启动。

但是,如果您的实例启动时间过长,则无法处理请求并且您会遇到错误 (HTTP 429)。

为了解决这个问题,您有 3 个解决方案:

  • 加快 Cloud Run 实例的冷启动。您可以尝试APPCDSGraalVM 打包
  • min-instance设置为 > 0 以始终保持实例温暖(它不是免费的,但它对少数人有很大帮助)
  • 继续使用 JAVA 而不是 SpringBoot,或者使用其他启动更快的语言(Go 很棒!)。

推荐阅读