所有并发的Lambda函数都可以利用" warm"容器?

时间:2017-04-28 12:27:51

标签: aws-lambda

Lambda应该是一个反对者,如果可能的话,重用该容器以避免重新连接(数据库 etc )和冷启动(下载zip,解压缩,解析 )。

AWS和许多其他人建议在每X分钟/秒内设置 Lambda函数的预定事件,以使其保持温暖。

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

如果 warm Lambda函数同时运行500次怎么办?所有这些都利用了那个集装箱,或只是第一个,其余的是冷启动?

1 个答案:

答案 0 :(得分:0)

您无法保证容器重用。这是AWS Lambda的神奇之处。容器可以根据需要来去。例如,你的第一个请求可能会命中一个在AZ A中运行的容器,你的下一个请求可能会命中AZ B中的一个容器。所以,有些可能会冷启动,有些可能没有,有很多因素在起作用39;控制权。出于好的理由,AWS不会分享其容器放置和容器可重用性策略的详细信息。

但是,您可以通过一些不同的模式来解决您的问题。一个例子是使用Lambda循环遍历"队列"要做的工作,如果您接近超时(context.getRemainingTimeInMillis()),请使用异步调用类型调用Lambda的另一个实例。