google-cloud-run - 使用云运行启动spring boot时如何解决超时
问题描述
我想在 CloudRun 上启动 spring boot 模块。CloudRun 有 GCLB,所以在 spring boot 模块启动完成之前,当 TCP 级别的通信成为可能时,它将被并入集群。
你知道如何解决这个问题吗?
解决方案
当请求进入已扩展到 0 的 Cloud Run 服务时,会创建一个新实例。请求保持大约 10 秒,等待实例启动。
但是,如果您的实例启动时间过长,则无法处理请求并且您会遇到错误 (HTTP 429)。
为了解决这个问题,您有 3 个解决方案:
- 加快 Cloud Run 实例的冷启动。您可以尝试APPCDS或GraalVM 打包。
- 将min-instance设置为 > 0 以始终保持实例温暖(它不是免费的,但它对少数人有很大帮助)
- 继续使用 JAVA 而不是 SpringBoot,或者使用其他启动更快的语言(Go 很棒!)。
推荐阅读
- python - 未找到 TensorFlow codart64_101.dll
- python - Django:UpdateView,创建另一个以前的图像
- powershell - Powershell - Write-Output 生成带有 BOM 字符的字符串
- reactjs - 尝试在 React Web 应用程序中呈现日期时出现“对象不是有效的 React 子项”错误
- javascript - 使用 JavaScript 将文档作为 Blob 发送到后端
- python - 为什么我在第二次运行中的结果与第一次不同
- sql - PostgreSQL 替换特定的 html 元素
- javascript - 使用 fetch API 忽略条件 GET
- discord.js - 用户加入公会时如何触发代码块
- nginx - NGINX + Dockerized Gunicorn - 我的网络服务器设置有多安全和高效?