当前位置: 首页 > 知识库问答 >
问题:

一个Spring Boot应用程序中应该只存在一个Spring云函数吗?

高吉星
2023-03-14

Spring Cloud函数引入了Spring功能,如自动配置、依赖注入、度量等,但与Java中的普通AWS lambda函数相比,它们感觉相当重量级。

启动时间要长得多,等等。所以,我很好奇这个想法是让Spring Boot应用程序提供多个功能,其中包含Spring Cloud功能,还是每个应用程序都有一个功能?

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

将这两个项目都部署为AWS Lambda函数,并且除了Spring Cloud函数的超时之外,环境细节(内存等)保持不变,需要增加到30-45秒。

共有1个答案

戚宏浚
2023-03-14

我在考虑我自己的交易。快速热身vsSpring宇宙。

SpringBoot项目需要更长的时间来初始化,因为Spring需要做大量的工作来开始。好处当然是,现在您拥有了Spring的强大和方便,而不是自己实现所有的事情。

我缺少的是一种方法,可以在一个Lambda中部署一组完整的函数,它可以服务于许多不同的请求。我正在考虑实现一种dispatcher模式,在那里我只注册一个接收事件的函数。然后分析事件,将其分派到同一lambda中的正确处理程序,以便进一步处理。这样,我注册的lambda就少多了(每个应用程序1个,每个功能1个)。热身时间并不是一个大问题,因为有不同的方式来预热和保持小羊羔的温暖。

所以我会选择一个SpringBoot多功能Lambda

 类似资料:
  • 我有一个java应用程序,它在运行时会产生另一个JVM。然而,我想使用jpack打包我的应用程序,它运行得很好。但是在运行时,当我的应用程序尝试使用调用下一个JVM时 我必须知道,应用程序是使用定制的JVM启动的,并且没有像“java”这样的命令。所以我得到的错误是这个java。无法执行getAbsolutePath()。 如果没有java可执行文件,我的应用程序如何在单独的进程中运行另一个jar

  • 我正在开发两个应用程序。让第一个应用程序是APP1,第二个应用程序为APP2。现在在APP1中,我不提供任何用户权限,如INTERNET权限,但它将发送任何http url,如http://www.google.com我的第二个APP2将包含INTERNET等用户权限。Http请求将从APP1发送到APP2,APP2将响应该请求,然后将结果发送回APP1。最后APP1包含一个Web视图以显示结果。

  • 问题内容: 我确信你们中有人注意到,如果您有Acrobat Reader(或其他PDF阅读器),并在Firefox中打开一个PDF,您会看到它嵌入在您的标签中。有什么方法可以将应用程序嵌入JFrame中? 问题答案: 这是一个相当棘手的问题。通常,诸如Adobe Reader之类的本机应用程序不提供可以嵌入到swing应用程序中的组件。但是在Windows中,有COM / OLE方法可以将应用程序

  • 在我的项目中,我创建了3个Spring启动应用程序。第一个Spring启动应用程序有h2嵌入式数据库。现在我想直接从我的第二个和第三个Spring启动应用程序访问这个数据库,而无需编写任何服务来获取这些数据。所以有人能告诉我如何实现这一点吗?

  • 在我的Spring Boot应用程序中,我有RESTful API和用于管理的MVC web仪表板。 是否可以在一个应用程序中同时为RESTful API提供Spring Security OAuth2身份验证/授权(基于令牌的、无状态的)和为Spring MVC web仪表板提供FormLogin(有状态的)? 如何用Spring Boot正确配置它?

  • 问题内容: 我读到每个应用程序都在自己的JVM中运行。为什么会这样呢?他们为什么不让一个JVM运行2个或更多应用程序? 我说的是通过公共静态void main(String [])方法启动的应用程序…) 问题答案: (我假设您正在谈论通过方法启动的应用程序…) 理论上,您可以在JVM中运行多个应用程序。实际上,它们可以以各种方式相互干扰。例如: JVM具有一组System.in/out/err,一