处理Kinesis Stream时,AWS Lambda限制

时间:2015-08-14 18:02:12

标签: amazon-web-services aws-lambda amazon-kinesis

有人可以解释Lambda订阅Kinesis项目创建事件时事件会发生什么。 AWS中的帐户有100个并发请求的限制,因此如果将100,000个项目添加到kinesis中如何处理事件,它们是否排队等待下一个可用的并发lambda?

1 个答案:

答案 0 :(得分:15)

来自常见问题解答http://aws.amazon.com/lambda/faqs/

“问:AWS Lambda如何处理来自Amazon Kinesis流和Amazon DynamoDB Streams的数据? 每个分片严格序列化发送到您的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

希望有所帮助!