1

当 AWS lambda 函数冻结时,幕后发生了什么?

也就是说——许多Lambda 运行时文档泛指函数冻结或解冻的概念

运行时和每个扩展通过发送 Next API 请求来指示完成。当运行时和每个扩展都完成并且没有挂起的事件时,Lambda 会冻结执行环境。

我对此的理解是,在一个 Lambda 函数初始化(或“冷启动”)并执行第一个调用请求之后,如果没有其他调用来处理该函数的执行环境将“冻结”。然后,当有另一个函数调用要处理时,函数的执行环境将几乎立即“解冻”,而无需再次初始化/冷启动。如果冻结的函数太长时间没有被调用,它将关闭,并且下一个调用请求将需要冷启动。

有谁知道这个结冰是什么?据我了解,这些执行环境是鞭炮虚拟机。这种冻结是 firecracker 支持的东西,还是 AWS Web Services 拥有它们自己保留的一些额外魔法?换句话说,如果我有一个 Firecracker VM 正在运行,我可以冻结和解冻它吗?

4

1 回答 1

5

我们可以将冻结理解为在每次执行之后,AWS Lambda 将实例置于睡眠状态。换句话说,实例冻结(类似于处于休眠模式的笔记本电脑)。虚拟 CPU 已关闭。这释放了工作节点上的资源。唤醒此类功能的开销可以忽略不计。

要了解 Firecracker 的工作原理,请观看此 AWS re:Invent of 2019 视频:AWS re:Invent 2019:Firecracker 开源创新 (OPN402)

另外,看看这个帖子:

于 2022-03-04T00:23:34.880 回答