gpt4 book ai didi

google-cloud-platform - Google Cloud Run 如何立即启动

转载 作者:行者123 更新时间:2023-12-04 02:34:13 24 4
gpt4 key购买 nike

所以,我真的很喜欢无服务器的想法。我遇到了 Google Cloud Functions 和 Google Cloud Run。
所以谷歌云功能是单独的功能,这是一个广阔的视角,我认为谷歌必须安全地运行在一个巨大的 nodejs 服务器上。它包含所有谷歌消费者的所有功能,并使用唯一的 URL 来满足请求。现在,Google 负责管理这台大型服务器的成本,并根据用户的功能获得的每次点击向用户收费。所以它的使用是付费的。而且很有道理。
但是说到 Cloud Run。我不明白它是如何工作的。显然容器不能一直运行,因为这样他们将简单地按月收费,而不是按点击次数收费,就像部署了 docker 镜像的普通虚拟机一样。但不,实际上,他们按每次点击收费,这意味着他们在请求到达时启动容器。所以,我不明白它怎么旋转得这么快?用户可以灵活地运行任何类型的环境,这意味着 docker 容器实际上可以包含任何内容。也许是成熟的 Linux 操作系统。它如何如此快速地加载环境操作系统并满足请求?好吧,也许它会保持机器的状态并在不使用时将其关闭,但即便如此,它也需要相当长的时间来恢复状态。
那么谷歌是如何做到的呢?它如何能够立即启动客户的容器?

最佳答案

快速启动沙箱容器(出于安全原因在自己的内核上运行)的想法已经存在很长时间了。例如,Intel Clear Linux ContainersFirecracker通过各种优化提供快速启动。
可以想象,实现这样的事情需要在很多层(调度、流量服务、自动缩放、图像缓存......)进行优化。
不泄露谷歌的 secret ,我们大概可以谈谈图像存储和缓存:就像虚拟机如何使用initramfs为了预先缓存 VM 的状态,我们可以对容器执行类似的技巧,而不是从硬盘读取所有文件并遵循启动顺序。
Google 对 Cloud Run 使用了类似的解决方案,名为 gVisor .这是一种用户空间虚拟化技术(不是实际的 VMM 或虚拟机管理程序)。要在类似 Linux 的环境中运行容器,gVisor 不需要从头启动 Linux 内核(因为 gVisor 在 go 中重新实现了 linux 内核!)。
您会在大多数云提供商的其他无服务器平台上找到许多优化(例如,如果您在负载到达之前预测性地调度非事件容器,如何保留容器实例)。我建议阅读 Peeking Behind the Curtains of Serverless Platforms论文以了解该领域存在哪些问题以及云提供商试图优化速度和成本的内容。

关于google-cloud-platform - Google Cloud Run 如何立即启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62639784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com