在始终在线的谷歌云上部署 Flask Web 应用程序

问题描述 投票:0回答:1

我想在 google cloud run 上部署一个 Flask Web 应用程序,该 Web 应用程序需要运行并 24/7 可用,因为我习惯每 6 周发送一次电子邮件,允许文件存储,并持久保留文件。我在应用程序中使用基于 Orm sql-alchemy 文件的存储。

我部署在google cloud run上。部署后,我在网站上注册,然后登录。一小时后,当我尝试登录时,出现错误,似乎 Web 应用程序部署未配置为永久记住或存储我的员工登录文件。

我该如何解决这个问题?

flask google-cloud-platform google-app-engine dockerfile flask-sqlalchemy
1个回答
0
投票

您的问题有不同的方面

  1. 始终在线申请。

云跑永远在线!但是,实例可以停止。由于实例初始化(称为冷启动),下一个启动将花费更多时间。如果您考虑有时延迟较高,但响应灵敏的网站始终在线,Cloud Run 非常适合您。

否则,您可以使用最小实例参数(但您将失去 Cloud Run 的成本优势,尤其是在流量较低或稀疏的情况下)

  1. 文件存储持久保留

Cloud Run 是一项无状态服务。这意味着您不能在其中存储任何内容(或者不再是实例生命周期。因为它存储在内存中,当实例消失时,您的内存数据也会消失)。

您无法管理实例生命周期。即使您将最小实例设置为 1(始终有 1 个实例启动并运行),该实例也可以随时替换(通常每周一次,用于底层基础设施维护(如修补))。

因此,您必须将文件存储在其他地方。 Cloud Storage 是存储文件的好地方,Cloud SQL 是存储 SQL 数据的好地方。

如果您需要对文件进行低延迟访问,您还可以使用Filestore mount(请注意,最小的 Filestore 实例为 1Tb,每月 460 美元)。

为了最简单的管理,您还可以将 Cloud Storage 作为目录 安装在 Cloud Run 实例中。但请记住,这是幕后的 Cloud Storage(禁止某些写入操作,并且延迟等于 Cloud Storage API 调用)

© www.soinside.com 2019 - 2024. All rights reserved.