Лямбда-функции Aws с несколькими банками и одной банкой

Допустим, у вас есть функция, которая reserve a dining table разбита на несколько лямбда-функций, например:

1. RestaurantsLambda - get list of restaurants etc
2. BookingLambda - takes payment, confirms booking etc
3. EmailLambda - sending confirmation emails.

Теперь вы поместите все вышеперечисленные лямбды в 1 банку или будете иметь банку для каждой лямбды?


person user1908568    schedule 27.06.2018    source источник


Ответы (1)


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

Лучше всего хранить в лямбда-выражении только тот код, который необходим функции. Сюда входят зависимости и библиотеки, и, конечно же, основной код. Эта передовая практика основана на том факте, что для выполнения лямбда-выражения код должен загружаться при первом вызове (через некоторое время код отклоняется, и следующие вызовы снова будут обрабатываться как первые). В Java есть дополнительная проблема, связанная с процессом загрузки классов, который происходит перед выполнением кода.

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

Короче говоря: одна баночка на функцию!

Дополнительный момент: в Java вы должны быть очень осторожны с импортируемыми библиотеками. Например, в aws-sdk вы должны импортировать только те библиотеки, которые вам понадобятся, а не весь aws-sdk. Это уменьшит ваши функции и... прочитайте еще раз последний абзац... ;-)

person Gustavo Tavares    schedule 16.08.2018