在Amazon Lambda上运行Spring Boot

Dam*_*her 8 java spring spring-boot aws-lambda

我正在尝试在Amazon Lambda上部署Spring Boot应用程序.我注意到如果快速连续调用处理程序 - spring尝试重新加载自己,重新设置datsources,重新加载bean等

无论如何,如果已经调用了main方法,那么告诉Spring Boot不要重新初始化它?

谢谢Damien

Ste*_*com 6

据我所知,Amazon Lambda是一个无状态函数,它针对每个请求进行实例化.

如果你多次调用Lambda,那么很常见,你会看到每个请求的Spring Boot初始化.

如果请求缓慢,则AWS可能再次重用相同的Lambda,因此只进行一次Spring初始化.

如果请求快速或并行,AWS将启动更多Lambdas实例以动态扩展.这解释了您面临的问题.

我认为,使用整个Spring应用程序作为AWS Lambda并不是正确的方法.Lambda应该是无状态函数,可以快速实例化.

您可以尝试使spring应用程序尽可能小,以减少加载时间并节省资源,如本教程中所述.