Как организовать проект Java Lambda Handler - PullRequest
1 голос
/ 15 марта 2020

Я недавно начал работать над AWS Lambda, используя Java, и мне нужно понять, как правильно структурировать проект, подобный этому.

Должен ли я создать только один проект для всех функций лямбда, или я должен создать проект для каждого?

В настоящее время я следую за первым и создал 10 лямбда-функций в одном проекте.

Я избегал использования Spring Boot и Spring для более быстрого холодного запуска, меньших зависимостей и меньшего объема памяти , но размер .jar уже составляет 20 МБ.

Следую ли я нормальному шаблону или как мне улучшить структуру моего проекта (см. Изображение)?

enter image description here

Объяснение: I Я поместил все обработчики в один проект и, конечно же, AWS будет указывать на разные обработчики для каждой функции.

Я также хочу спросить, является ли это хорошим дизайном, чтобы хранить их вместе, или я должен иметь разные проекты / модули для каждой лямбды. Например: deleteUser, disableUser et c.

Пожалуйста, помогите мне начать.

enter image description here

Спасибо

1 Ответ

1 голос
/ 15 марта 2020

Один проект для всех лямбда-функций должен быть в порядке, так как, наконец, лямбда-функция должна быть настроена на соответствующий обработчик. Проверьте этот подобный поток stackoverflow.

Возможно ли создать несколько функций Lambda (Java) в банке

Для использования памяти приложения попробуйте развернуть Lambda приложения и проверьте время холодного запуска и объем памяти, так как эти 2 будут в определенной степени определять ваши затраты на Lambda.

  1. Если логика вашего приложения c достаточно проста, избегайте использования какой-либо инфраструктуры и просто используйте ядро ​​java.

  2. Spring Cloud Function - Вы можете рассматривать это как весеннюю загрузочную версию для разработки серверных приложений (Конечно, есть еще много чего)

    https://spring.io/projects/spring-cloud-function

  3. Попробуйте Quarks as, они утверждают, что занимают гораздо меньше памяти и время запуска приложений.

    https://quarkus.io/

...