谷歌云运行需要负载均衡吗?
我目前正在部署一个前端,该前端将根据谷歌云平台上的使用情况动态扩展。一位朋友建议我使用谷歌云运行。我使用简单的快速服务器将我的 Angular 前端构建到 docker 映像,并部署在 google cloud run 上。这(据我所知)意味着当一个 docker 实例达到请求阈值时,另一个将启动并接受额外的请求。这与负载均衡器有何不同?我需要在谷歌云运行扩展之上的负载平衡器吗?
对于我缺乏 DevOps 知识,我提前道歉。
回答
Cloud Run 提供autoscaling,这意味着您不一定需要在 Cloud run 服务(在 GCP 中的无服务器产品的情况下称为 Network Endpoint Groups)之前放置负载均衡器,因为这会在您的服务器上自动完成代表:每个修订版都会自动扩展到处理所有传入请求所需的容器实例数量,甚至更酷,因为它是零服务规模,如果您没有收到任何请求,实例数量可以达到零(请注意旋转每个新实例都必然需要一些时间,这称为冷启动,因此您始终可以设置一个值min_instances
以避免此类问题)。如果您只将应用程序的后端部分托管在 Cloud Run 中,并且需要您的负载均衡器进行某种特殊路由,那么网络端点组的使用更具针对性,我相信最广泛的用途是如果您需要为您的应用程序提供固定的外部 IP 地址。