我最近开始使用Java来研究AWS Lambda,我需要了解如何正确构建这样的项目。
应该只为所有lambda函数创建一个项目,还是应该为每个lambda函数创建一个项目?
我目前正在跟踪前者,并且在一个项目中创建了10个lambda函数。
我避免使用Spring Boot和Spring来加快启动速度,减少依赖关系并减小内存占用,但是.jar的大小已经是20 MB。
我遵循正常模式,还是如何改善项目结构(见图)?
说明:我将所有处理程序放在一个项目中,当然,AWS将指向每个函数的不同处理程序。
我也想问一下,将它们放在一起是一种好的设计,还是每个lambda都有不同的项目/模块。例如:deleteUser,disableUser等。
请引导我开始。
谢谢
所有Lambda函数的一个项目应该都很好,因为最后需要将Lambda函数配置为其各自的Handler。检查此类似的stackoverflow线程。
Is it feasible to create multiple Lambda functions (Java) in a jar
对于应用程序内存占用空间,请尝试部署Lambda应用程序并检查冷启动时间和内存占用空间,因为这2会在一定程度上确定您的Lambda成本。
诸如spring-boot之类的框架往往会导致更长的启动时间。您可以考虑使用其他替代方法。
如果您的应用程序逻辑足够简单,请避免使用任何框架,而应使用核心Java。
[Spring Cloud Function-您可以将其视为用于开发服务器应用程序的Spring Boot版本(当然,它还有很多其他功能)
尝试Quarks,因为它们声称具有更少的内存占用空间和应用程序启动时间。