Spring Boot应用程序中是否只存在一个Spring Cloud Function?

时间:2018-05-05 19:36:27

标签: java spring-boot aws-lambda spring-cloud

Spring Cloud Functions引入了Spring功能,如自动配置,依赖注入,指标等,但与Java中的普通AWS lambda函数相比,它们感觉非常重要。

启动时间要长得多等等。所以,我很好奇这个想法是否有一个Spring Boot应用程序提供的多个函数,其中包含Spring Cloud Functions,或者它们是否应该是每个应用程序的一个函数?

两个示例项目来说明启动时间的差异: - https://github.com/marcthomas2013/simple-aws-spring-cloud-function - https://github.com/marcthomas2013/simple-aws-lambda

将每个项目作为AWS Lambda函数进行部署,并将环境详细信息(内存等)保持不变,除了Spring Cloud Function的超时时间需要增加到30-45秒。

1 个答案:

答案 0 :(得分:1)

我正在考虑自己的这种折衷。快速预热与Spring Universe。

SpringBoot项目的初始化花费了很多时间,因为Spring要做很多工作。当然,这样做的好处是,您现在拥有了Spring的强大功能和便利,而不必自己执行所有操作。

我所缺少的是一种在一个Lambda中部署可以满足许多不同请求的完整功能集的方法。我正在考虑实现一种调度程序模式,在该模式下,我只注册1个接收事件的函数。然后,它分析事件,将其分派到同一lambda中的正确处理程序以进行进一步处理。这样,我注册的lambda就会少得多(每个应用1个vs每个功能1个)。预热时间不是一个大问题,因为预热和保持lambda变暖有多种方法。

因此,我要搭配SpringBoot,多功能Lambda