Cloud Run 和数据库迁移:创建新修订时的初始启动超时(用于数据库迁移)

时间:2021-03-02 14:09:19

标签: google-cloud-platform google-cloud-run

我正在考虑迁移 Cloud Run,但我想知道创建新修订时的启动时间。基本上,当云运行修订版启动时,我想运行数据库迁移,众所周知这可能需要一段时间。

我知道 Cloud Run 会一直等到容器准备好开始提供流量,但它等待它准备好多久?

我搜索了文档,但没有真正找到任何东西。

数据库托管在 CloudSQL 中

问候, 尼古拉斯

1 个答案:

答案 0 :(得分:0)

你不能开箱即用地实现你想要的,你需要一些工程。事实上,你的容器是不可变的,这意味着运行它 1 次或 1000 次,执行相同的执行。所以,如果你在启动时设置了迁移脚本,这个脚本每次都会播放。

您可以想象将当前架构版本存储在您的数据库中。当 Cloud Run 实例与您的容器一起启动时,启动会检查架构版本,如果不相等,则应用迁移脚本并更新架构版本。

但是在每个实例启动时,都会执行与数据库的连接 + 版本检查。


另一种解决方案是定义一个路径来启动迁移脚本 /migration。在部署后立即调用它以应用迁移。这一次,没有冷启动影响,但即使在迁移后仍然可以访问。

或者您可以混合使用这两种方法,检查模式版本的数据库 + 应用迁移的路径。

相关问题