【发布时间】:2016-09-28 03:12:41
【问题描述】:
我已经浏览过this链接,(2014年12月发布),也参考this和this
AWS Lambda 容器重用如何在 2016 年 5 月工作,您能否分享任何详细说明的具体链接?下面我有几个关于这个 AWS Lambda 容器重用的问题。
考虑一个用例:
一个名为“processMessageLambda”的 Lambda 函数在它必须处理一条消息时接收请求,并且它从 POST REST API(来自 AWS API Gateway,与此 lambda 函数连接)接收到该消息。
现在这个“processMessageLambda”处理消息并将其存储到数据库中。
所以从逻辑上讲,它执行以下操作: 连接到数据库,存储消息并关闭连接。 (在正常情况下可以正常工作。)。
如果请求到达,比如每秒 10 个,并且每个 lambda 函数需要 30 秒来执行,那么它实际上会打开许多数据库连接。
Q1:我们可以在这种情况下使用“连接池”吗(例如boneCP)?因为对“processMessageLambda”的调用次数可能是每秒一百次或每秒十次?
(请参阅:simple example of container reuse - 它按它说的那样工作,但是会发生很多请求会到达说 - 每秒 10 个请求)
Q-2:如果可以使用连接池,那么这个aws lambda容器将如何被重用?
如果考虑一个案例:
让我们考虑这个 Lambda 函数接收的请求是每秒 10 个,在这种情况下 - 将创建 10 个不同的此 lambda 函数容器,或者将创建一个 lambda 函数容器,并将用于所有这 10 个请求?
Q-3:如果要创建 10 个不同的 lambda 函数容器,那么这意味着将使用 10 个数据库连接,那么这 10 个容器将在进一步的请求中重复使用?
Q-4:请您从开发人员的角度解释一下,aws lambda 容器重用实际上是如何工作的,或者开发人员在重用 aws lambda 容器时是如何考虑的? p>
Q-5:如果容器重用已经到位,开发人员需要如何维护变量的状态,以便开发人员知道哪个变量将被重用?
【问题讨论】:
标签: amazon-web-services aws-lambda