Как AWS Lambda управляет параллелизмом? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть лямбда, которая запрашивает базу данных для подсчета, а затем отправляет в очередь SQS число, представляющее смещение запроса, над которым работает другая лямбда.Вторая лямбда запускается толчком в очередь.Если я установлю параллелизм на 10, означает ли это, что лямбда будет действовать как пул потоков и будет продолжать перезапуск, пока очередь не станет пустой?

Действительно точное изображение того, о чем я думаю: lambda_flow_char

Пример Lambda A запрашивает БД и обнаруживает, что в таблице 10000 элементов, поэтому он отправляет в очередь 100 сообщений, которые проходят от 0 до 10000 в 100 чанках.

Лямбда B имеет параллелизм 10 и запускается путём вставки в очередь, и каждый тянет, выполняет какую-то работу и помещает результат в другое место и делает то, что делают лямбды после того, как их работа выполнена.После того, как все они выполнены, осталось еще 90 задач, запускается ли еще один пул из 10, или, когда лямбда будет сделана, ее место займет другая?

1 Ответ

0 голосов
/ 09 февраля 2019

Поскольку Lambda B имеет параллелизм 10, то в любое время будет работать максимум 10 лямбда-функций.

Когда одна лямбда-функция завершится, другая будет срабатывать, пока в ней ничего не останетсяочередь SQS.

Вероятно, AWS Lambda создаст 10 Lambda-контейнеров, и каждый контейнер будет использоваться повторно при последующих вызовах.

См .: Общие сведения о повторном использовании контейнера в AWSЛямбда |Блог вычислений AWS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...