AWS serverless设计-Lambda
1. 同时执行的次数有限制
Lambda原理其实是不断增加的容器技术。每一个请求就是开启一个容器。
并发执行=(每秒调用次数)x(平均执行时间(秒))
例如,一个Lambda函数平均耗时10秒,每秒发出100个事件会同时执行1000个Lambda函数,这就是极限。
奇妙的是,世界上每个地区的限制其实还不太一样,像美国好像是2000限制。
普通地区AWS Lambda在同一账户的同一区域内限制为1,000。当达到限制时,进一步的函数调用被限制(节流)。注意是同一个账户,不是同一个函数。
有几种方法可以避免限制。
其中之一是“重试处理”。对于同步处理,当发生限制时,Lambda函数会返回 429 错误。如果发生此错误,函数的调用者将执行重试过程。在异步处理的情况下,它会以最长6小时的间隔自动重试。
此外,在 AWS Lambda 的情况下,申请放宽上限,
(但是,很难被接受)。