首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS是否在一个单独的鞭炮VM中运行每一次调用?

AWS是否在一个单独的鞭炮VM中运行每一次调用?
EN

Stack Overflow用户
提问于 2020-09-13 21:06:44
回答 1查看 488关注 0票数 1

我知道在的冷启动和暖启动。

但是,我不确定在温暖的启动期间,Lambda架构是否在后端重用了Firecracker?还是在新的VM中执行调用?

是否有办法通过其他AWS解决方案对每一次调用强制VM级隔离?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-13 21:41:06

基于Lambda执行上下文文档中的内容,Lambda试图在随后的执行之间重用执行上下文,这就是导致冷启动(当上下文被旋转时)和温暖启动(当重用现有上下文时)的原因。

当第一次或更新后调用Lambda函数时,通常会看到此延迟,因为AWS Lambda试图在Lambda函数的后续调用中重用执行上下文。

Lambda运行时环境文档中的另一项声明证实了这一点,其中声明:

当调用Lambda函数时,数据平面将执行环境分配给该函数,或者选择已经为该函数设置的现有执行环境,然后在该环境中运行函数代码。

同一页后面的一篇文章提供了关于环境/资源如何在同一个AWS帐户中的函数和执行之间共享的更多信息:

执行环境在硬件虚拟化虚拟机(MicroVM)上运行。microVM专用于AWS帐户,但可以被帐户内跨函数的执行环境重用。..。执行环境从未在函数之间共享,微are也从未在AWS帐户之间共享。

此外,还有另一个文档页提供了有关环境间隔离的更多细节,但没有提到每个环境执行1次执行的能力。

据我所知,没有办法使新的执行使用新的环境,而不是现有的环境。AWS在这方面没有提供太多的见解,但围绕这一主题的措辞似乎表明,大多数人实际上都试图做与您所寻找的相反的事情:

编写Lambda函数代码时,不要假设AWS Lambda会自动重用后续函数调用的执行上下文。其他因素可能要求AWS Lambda创建一个新的执行上下文,这可能导致意外的结果,例如数据库连接失败。

我想说的是,如果您关注的是与其他客户/帐户的隔离,AWS通过虚拟化来保证隔离,即虽然不处于物理级别,但取决于它们的SLA和您的SLA/需求可能就足够了。相反,如果您正在考虑进行某种类型的多租户基础设施,要求Lambda执行必须彼此隔离,那么这个组件可能不是您要寻找的组件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63875600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档