【发布时间】:2021-10-28 01:16:05
【问题描述】:
我正在使用 Google App Engine (GAE),我的 app.yaml 如下所示:
runtime: custom # uses Dockerfile
env: flex
manual_scaling:
instances: 2
resources:
cpu: 2
memory_gb: 12
disk_size_gb: 50
50GB 磁盘,是否在实例之间共享? docs 对此问题保持沉默。我正在将文件下载到磁盘,每个实例都需要能够访问我正在下载的文件。
如果磁盘不共享,如何在实例之间共享文件?
我知道我可以按需从谷歌云存储下载它们,但这些是视频文件,每个实例都需要即时访问。按需下载视频文件太慢了。
TIA
选读:
之所以需要即时访问,是因为我使用ffmpeg 从视频中的 X 帧(或 X 时间)生成照片。拍摄视频照片时,需要尽快将这些照片提供给用户。
【问题讨论】:
-
GAE Flex 不在实例之间共享磁盘空间。作为 NFS 的 Filestore 可以工作,问题是您无法在 Flex 中执行时挂载 NFS,因此这应该手动进行,这在应用程序扩展或重新创建实例时会出现问题。您可能想在 GCE 中选择 GKE 或 MIG。也许其他人可以分享任何想法
-
谢谢,一个非常有用的见解...您经常提到 GAE flex,同样的问题是否适用于 GAE 标准?
-
是的,这也适用于 GAE 标准。事实上,GAE 标准不支持磁盘之类的东西,而是可以将文件“存储”在内存中
/tmp中,因此存储取决于您选择的实例类型可用的内存。