Относительно потока данных KInesis Firehose на AWS Lambda - PullRequest
0 голосов
/ 17 июня 2020

Предположим, идет прямая трансляция, и данные будут собираться на Kinesis и обрабатывать данные.

Допустим, прошло 10 секунд, и она запустит первую лямбда-функцию, и предположим, что лямбда-функция будет обрабатываться всего за 5 секунд эти данные.

Итак, первая лямбда-функция будет обработана за 15 секунд, но между ними предположим, что некоторая потоковая передача данных в реальном времени происходит в 12 с. 1005 *

Итак, вторая лямбда-функция будет выполняться, как только первая лямбда-функция будет завершена, или возможно, что обе лямбда-функции будут работать параллельно?

Кто-нибудь может уточнить, есть ли у нас какой-либо документ, касающийся тогда поделитесь ссылкой.

Я не могу найти информацию об этом.

1 Ответ

1 голос
/ 17 июня 2020

Не такой простой ответ.

Вообще говоря, это зависит от того, сколько шардов вы настроили для потока. Каждый осколок будет вызывать только одну лямбду без параллельных вызовов в потоке. Следовательно, все обрабатывается по порядку этой одной функцией для этого одного шарда.

Но теперь (с 2019 года) вы можете установить коэффициент распараллеливания, чтобы каждый шард мог иметь до 10 параллельных функций, работающих с ними.

Ссылка здесь: https://aws.amazon.com/about-aws/whats-new/2019/11/aws-lambda-supports-parallelization-factor-for-kinesis-and-dynamodb-event-sources/

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

Это немного сбивает с толку, но ссылка выше поможет объяснить.

...