技术
如何使用 AWS Lambda 配置的并发性应对冷启动?
该功能的最大优势是按使用付费模式。但这也意味着底层硬件在不使用时将缩减为零。当发生这种情况并调用某个函数时,这在社区中被称为冷函数(与热函数相反)。较低成本的好处是有首次通话启动时间较长的缺点。特别是对于启动时间较长的运行时(例如 Java),这可能会很麻烦。
过去,您可以配置不同类型的加热机制来帮助您解决这个问题。从基本的 curl/ping 到更高级的 Warmup 编排 Lambda 函数和 CloudWatch 事件作为客户端。此外,Serverless 框架还有多个类似的插件可以帮助您实现 中国号码数据 自动化。从下载量来看,对热门 Lambda 函数有需求。
AWS 可能注意到了这一点,并在 Re-Invent 2019 期间宣布了针对 AWS Lambda 的 Provisioned Concurrency。正如他们所说,使用预配置并发的函数执行时具有一致的启动延迟,这使其成为构建交互式移动或 Web 后端、延迟敏感的微服务和同步调用的 API 的理想选择。基本上,你多付一点钱,他们就会为你保持温暖。
由于在 VPC 内运行 AWS Lambda 函数的缺点是启动速度较慢,因此我们对在某些私有 API 网关托管的无服务器应用程序上实现此功能并摆脱自定义工具非常感兴趣。较少的复杂性总是好的。
那么让我们看看在 Serverless 框架中是如何配置的:
=
复制
部署后,将导致配置具有设定值的别名。
如何使用 AWS Lambda 配置的并发性应对冷启动?
下面来自AWS 博客的图片展示了一个夸张的例子,但要点很明确。启用预配置并发后,用户体验更加稳定。对于注重客户用户体验的面向公众的门户网站来说,这可能非常有趣。
如何使用 AWS Lambda 配置的并发性应对冷启动?
成本
预配置并发在现有的持续时间和请求数维度上添加了定价维度。您需要根据配置的并发量和配置的时间段付费。当您的函数启用了预配置并发并执行该函数时,您还需要根据正常的 Lambda 费率支付请求数和持续时间的费用。如果您的函数的并发数超出了配置的并发数,您将按照正常的 Lambda 费率为执行超出的函数付费。更多信息请见此处。
指标
如何使用 AWS Lambda 配置的并发性应对冷启动?
正如往常一样,魔鬼存在于细节中。因此,为了正确地自动调整您的无服务器应用程序,您可以使用以下新指标来很好地了解您的应用程序的运行时情况。
ProvisionedConcurrencyInvocations:作为预配置并发的一部分的调用次数
ProvisionedConcurrentExecutions:作为预配置并发的一部分,正在使用的并发执行环境的数量
ProvisionedConcurrencyUtilization:预配置并发的利用率百分比
ProvisionedConcurrencySpilloverInvocations:超出预配置并发的调用次数
如何使用 AWS Lambda 配置的并发性应对冷启动?
-
- Posts: 940
- Joined: Mon Dec 23, 2024 8:19 am