【发布时间】:2021-02-07 05:27:59
【问题描述】:
起点:我有一个通用 JS 应用程序(基于 Next.js、Nuxt.js、Universal Angular 等构建),我希望它在 GCP 上启动并运行(我认为同样的问题可以参考 AWS ,原理相同)。该应用程序不是“真正的”后端(带有数据库连接、业务逻辑等),它更像是“前端-后端”——它所做的只是前端的 SSR。该应用程序使用 Docker 进行容器化。应用程序应该是生产就绪的(不应该部署在某些 beta 服务上)。
我遇到了 4 个可能的选项:
- 计算引擎
- GKE (Kubernetes)
- 云跑
- 应用引擎
接下来的问题是:最适合此应用需求的 GCP 服务是什么?
【问题讨论】:
-
元素太少。首先,您是否执行处理服务器端?那么,您是否需要全局可用性/缓存支持 (CDN)?您期望的流量配置文件是什么(恒定或尖峰)?冷启动持续时间(从容器启动到第一个请求服务的时间)?有很多参数!尽可能多地分享!
-
@guillaumeblaquiere 服务器预计只会呈现一些 html 并返回它。后端没有繁重的工作——只有渲染。内容预计将托管在第 3 方(如图像托管在其他地方,只是嵌入了链接)。但是最好缓存请求(不要重新运行渲染)。它也是恒定负载,启动时间尽可能短(所以我不考虑需要预热的云功能)。谢谢!
-
好的,但是有“处理”。我的意思是你有一个网络服务器来回答端点,生成正确的 HTML 并发送结果。这不是静态 HTML 服务,对吧?为什么 Cloud Function 的启动时间不好?您需要小于 100 毫秒的延迟?
-
是的,这是正确的 - 有处理,它不是静态 html。据我所知,云功能的冷启动会导致 1-3 秒的延迟。该应用程序应该是高度可用的,并且处理速度尽可能快。您的意思是云功能的 100 毫秒延迟是它们预热的时候?无论如何,您认为 Cloud Function 是正确的方法吗?
标签: google-app-engine kubernetes google-cloud-platform cloud google-compute-engine