AWS Lambda将函数最长执行时间提至90分钟
AWS Lambda Managed Instances现已支持最长90分钟的函数执行时间,相比此前15分钟的上限提高了6倍。此次调整主要面向长时间运行的任务,但传统同步请求的超时限制并未改变,也让Lambda与传统服务器之间的界限进一步模糊。
Lambda的执行时限在2014年从最初的5分钟提升至2018年的15分钟。长期以来,15分钟上限迫使开发者为媒体处理、金融计算、数据处理与ETL、AI推理、网页抓取以及大文件传输等任务设计额外的拆分、排队或调度机制,因为这些任务经常需要持续运行更久。
更长的执行时间也带来了新的运维要求。开发者需要确认网络连接在整个函数生命周期内保持有效,并处理临时凭证过期和续期问题。同时,Lambda并不保证“精确一次”执行,运行时间越长,重试和重复交付的时间窗口越大。涉及支付、数据库写入等操作时,应通过幂等设计确保重复执行不会产生额外副作用,持久化函数中可能重复执行的步骤也必须遵循这一原则。Powertools for AWS Lambda可用于在代码中实现幂等控制。
目前,Lambda主要覆盖两类执行模式:面向事件驱动任务、默认最长运行15分钟的函数,以及用于执行用户或AI生成代码、最长可运行8小时的MicroVM。Managed Instances则进一步面向稳态工作负载,允许单个实例处理多个请求,用户无需自行管理基础设施,同时使用基于EC2的定价和计算选项。此次调整有望减少过去为突破时限而搭建的临时架构。
不过,社区也提醒,90分钟并不意味着所有长任务都适合使用Lambda。如果函数大部分时间只是等待外部事件,持久化函数可能更合适;若任务确实需要持续占用计算资源,ECS Tasks或AWS Batch在成本和架构上可能更合理。近期,Managed Instances还增加了由Graviton5驱动的EC2实例支持,延长后的超时时间已覆盖该服务可用的全部区域。
本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。
阅读原文