Как AWS Lambda или любой другой FAAS загружаются - PullRequest
0 голосов
/ 02 мая 2018

Недавно мы переехали на AWS. и мы находимся в процессе рефакторинга нашего кода, чтобы воспользоваться преимуществами предложений AWS. одна из таких вещей - AWS Lambda (Faas). я понимаю, что AWS лямбда - это процесс, выполняющийся в каком-то контейнере ec2 (с необходимыми вычислительными ресурсами (память и процессор)). и каждый раз, когда вызывается лямбда-функция, этот процесс загружается (холодный запуск) и запускает логику, заданную в функции, а затем завершается после определенного времени простоя. Но одна вещь, которая меня поражает, это то, что лежит в основе кода, который принимает это функция, это какой-то Java-процесс, который имеет некоторую функцию, которая принимает лямбду в качестве входных данных (поставщика) и передает результат обратно. И как происходит передача функции в процесс назначения (http или любой другой протокол) , Я знаю, что мой вопрос очень грубый, но кто-то может дать мне понять. Спасибо

1 Ответ

0 голосов
/ 02 мая 2018

Насколько я понимаю, в зависимости от конкретного выбора языка времени выполнения (NodeJS, Java, Python), вы получаете контейнеры с различными средами времени выполнения.

Например, если вы используете Java, JVM уже должна быть установлена ​​в базовый контейнер конкретной среды выполнения.

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

Чтобы понять особенности Lambda-контейнеров Установите AWS SAM Local Docker Containers , что будет ближе к тому, что мы ожидаем в Lambda.

...