无服务器函数是否每次调用时都安装模块?



每次调用无服务器函数时都安装模块吗?

我正试图理解无服务器功能是如何真正工作的。我知道serverfull基本上是一台执行代码的计算机,服务器代码在它上面全天候运行,除非它因某种原因而停止。另一方面,我理解无服务器代码只在调用时运行。这些代码存储在哪里?当我在无服务器应用程序中调用函数时,它是否每次调用该函数时都安装模块(例如从npm) ?这就是导致冷启动延迟的原因吗?

我明白serverfull就像我的计算机运行代码。我如何用同样的类比来描述无服务器?

我的问题:

  1. 无服务器函数每次调用时都安装模块吗?
  2. 如果没有服务器,该代码存储在无服务器的哪里?
  3. 我明白serverfull就像我的计算机运行代码。我如何用同样的类比来描述无服务器?

不,依赖项是部署工件的一部分(例如,在AWS Lambda的情况下是ZIP文件或容器映像),因此它们不必在每次调用时安装。

我明白serverfull就像我的计算机运行代码。我如何用同样的类比来描述无服务器?

这不是一个完美的解释,但希望它符合你的类比。想象一下,您的计算机处于睡眠状态,但是有另一台计算机可以接收请求,并在收到新请求时唤醒您的计算机,因此它可以在您的计算机上运行。在它运行完之后,它又回到睡眠状态。但不是一台电脑,而是许多电脑可以在几毫秒内从睡眠中唤醒。希望你能理解。

最新更新