Как эффективно вызвать миллион лямбд? - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть лямбда-функция, которую я сейчас вызываю из EC2. Но я вызываю это последовательно в al oop. Итак, если нужно обработать 1000 элементов, я использую простую l oop для их итерации и запускаю функцию Lambda для каждого элемента.

Если бы это было сделано для миллиона элементов это не будет эффективным. Какие варианты у меня есть, чтобы сократить время, необходимое для этого процесса.

Процесс для всех элементов независим; Итак, я могу вызвать, скажем, 1000 лямбд в 1000 потоков. Но уместно ли это? Я не знаю много о сельдерее, SQS, Redis и др. c. но будут ли они полезны в этом сценарии?

На всякий случай, если это уместно, каждая лямбда занимает около 5 минут.

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Обычной практикой является pu sh сообщений в очередь Amazon SQS и настройка очереди на запуск AWS лямбда-функции .

You может отправить sh до 10 сообщений одновременно в очередь SQS.

Этот подход также имеет преимущество обработки неудачных вызовов путем перемещения сообщений в очередь недоставленных сообщений.

См. Использование AWS Лямбда с Amazon SQS

0 голосов
/ 18 февраля 2020

Использование брокера сообщений будет более эффективным. Вы можете получить с Redis или RabbitMQ

...