AWS Lambda Limits при обработке Kinesis Stream

Может кто-нибудь объяснить, что происходит с событиями, когда Lambda подписана на Kinesis, создавая события. Существует предел 100 одновременных запросов для учетной записи в AWS, поэтому, если в кинезис добавлено 1 000 000 элементов, как обрабатываются события, они помещаются в очередь для следующей доступной параллельной лямбда?

Ответ 1

Из FAQ http://aws.amazon.com/lambda/faqs/

"Q: Как данные процесса AWMS Lambda обрабатываются потоками Amazon Kinesis и потоками Amazon DynamoDB? Записи Amazon Kinesis и DynamoDB Streams, отправленные на вашу функцию AWS Lambda, строго сериализованы за каждый осколок. Это означает, что если вы поместите две записи в один и тот же осколок, Lambda гарантирует, что ваша функция Lambda будет успешно вызвана с первой записью, прежде чем она будет вызвана со второй записью. Если вызов для одной записи истекает, дросселируется или встречается с любой другой ошибкой, Lambda будет повторять попытку, пока она не удастся (или запись не достигнет 24-часового срока действия), прежде чем перейти к следующей записи. Порядок записи записей по разным осколкам не гарантируется, и обработка каждого осколка происходит параллельно ".

Это означает, что если у вас есть 1M элементов, добавленных в Kinesis, но только один осколок, дроссель не имеет значения - у вас будет только один экземпляр функции Lambda, который считывает этот осколок в последовательном порядке, в зависимости от указанного вами размера партии, Чем больше осколков, тем больше одновременных вызовов, которые ваша функция увидит. Если у вас есть поток s > 100 обтравами, ограничение учетной записи, о котором вы говорите, может быть легко увеличено до того, что вам нужно, чтобы получить поддержку клиентов AWS. Подробнее здесь. http://docs.aws.amazon.com/lambda/latest/dg/limits.html

надеюсь, что это поможет!