Lambda Service是否一直在计算机上运行,以进一步启动最终运行函数的执行环境



我知道Lambda是无服务器的,它将在事件调用上创建一个执行环境(MicroVM(。

因此,当一个事件被调用时,Lambda将启动一个执行环境,该环境将在其中选择编程语言运行时

到目前为止,很明显,这些执行环境(MicroVM(是按需创建的,如果发现长期闲置,就会终止。

现在,原来的问题来了。

我的理解是,Lambda有一个运行时API。因此,每当我们在AWS中创建Lambda资源时,它都可以被Lambda Runtime API访问。这些API端点由诸如SQS、SNS等事件源调用。

我的问题是,是否有任何计算一直在运行,只是为了托管这些Lambda Runtime API。如果它在那里,为什么没有太多细节,为什么我们不为此收费?

请纠正我的理解。

在一个非常简单的解释中,Lambda应该被视为一个包含两个组件的服务:

  1. 数据平面:执行函数的EC2实例
  2. 控制平面:包含与部署的每个Lambda相关的所有元数据的服务,包括事件映射

当事件发生时,控制平面将对其进行处理。控制平面将验证安全性,并检查是否存在已实例化的函数的可用副本。

如果有可用的,它将把事件转发给Lambda,并传递指令发回结果。如果没有可用的函数,控制平面将下载函数代码及其运行时,在数据平面中实例化一个新函数并转发事件。

在任何时候,都会有控制平面和数据平面机器在线。AWS Lambda服务将根据使用情况增加或减少每个服务的数量。

最新更新