【发布时间】:2015-11-08 01:39:12
【问题描述】:
有人可以解释当 Lambda 订阅 Kinesis 项目创建事件时事件会发生什么。 AWS 中的一个账户有 100 个并发请求的限制,因此如果将 1,000,000 个项目添加到 kinesis,这些事件是如何处理的,它们是否会排队等待下一个可用的并发 lambda?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-kinesis
有人可以解释当 Lambda 订阅 Kinesis 项目创建事件时事件会发生什么。 AWS 中的一个账户有 100 个并发请求的限制,因此如果将 1,000,000 个项目添加到 kinesis,这些事件是如何处理的,它们是否会排队等待下一个可用的并发 lambda?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-kinesis
来自常见问题解答http://aws.amazon.com/lambda/faqs/
"问:AWS Lambda 如何处理来自 Amazon Kinesis 流和 Amazon DynamoDB 流的数据? 发送到您的 AWS Lambda 函数的 Amazon Kinesis 和 DynamoDB Streams 记录按分片严格序列化。这意味着如果您将两条记录放在同一个分片中,Lambda 保证您的 Lambda 函数将在使用第二条记录调用之前成功使用第一条记录调用。如果对一条记录的调用超时、受到限制或遇到任何其他错误,Lambda 将重试直到成功(或记录达到其 24 小时到期),然后再继续下一条记录。不保证不同分片之间记录的顺序,每个分片的处理都是并行进行的。”
这意味着如果您有 100 万个项目添加到 Kinesis,但只有一个分片,则限制无关紧要 - 您将只有一个 Lambda 函数实例根据您指定的批量大小串行读取该分片.您拥有的分片越多,您的函数将看到的并发调用越多。如果您有超过 100 个分片的流,您提到的帐户限制可以通过 AWS 客户支持轻松增加到您需要的任何值。更多细节在这里。 http://docs.aws.amazon.com/lambda/latest/dg/limits.html
希望有帮助!
【讨论】: