Aws lambda 所有并发Lambda函数都利用;温暖的;集装箱?

Aws lambda 所有并发Lambda函数都利用;温暖的;集装箱?,aws-lambda,Aws Lambda,Lambda假定正在旋转一个container,如果可能的话,该容器将被重用,以避免重新连接(数据库等)和冷启动(下载zip、解压、解析等) AWS和许多其他人建议设置一个预定事件,每X分/秒戳一次Lambda函数,以保持其温暖 但我在任何地方都找不到这个简单问题的答案:是否每次运行该函数时都会以某种方式重用该容器 如果温暖的Lambda函数同时运行500次呢?所有这些都利用了这个容器,或者只有第一个容器,其余的容器都得到了冷启动?您不能保证容器的重用。这就是AWS Lambda的魔力。集装箱

Lambda假定正在旋转一个container,如果可能的话,该容器将被重用,以避免重新连接(数据库等)和冷启动(下载zip、解压、解析等)

AWS和许多其他人建议设置一个预定事件,每X分/秒戳一次Lambda函数,以保持其温暖


但我在任何地方都找不到这个简单问题的答案:是否每次运行该函数时都会以某种方式重用该容器


如果温暖的Lambda函数同时运行500次呢?所有这些都利用了这个容器,或者只有第一个容器,其余的容器都得到了冷启动?

您不能保证容器的重用。这就是AWS Lambda的魔力。集装箱可以根据需要来来去去。例如,您的第一个请求可能会命中AZ a中运行的容器,而您的下一个请求可能会命中AZ B中的容器。因此,有些请求可能会冷启动,有些请求可能不会,有很多因素是您无法控制的。出于充分的理由,AWS没有分享容器放置和容器重用策略的细节

不过,你或许可以用一种不同的模式来处理你的问题。一个例子是使用Lambda在要执行的工作的“队列”上循环,如果您接近超时(context.getRemainingTimeInMillis()),则使用异步调用类型调用Lambda的另一个实例