多功能SpringBoot JAVA应用程序(REST / BATCH / LAMBDA)

问题描述 投票:0回答:1

我有一个Java Spring Boot应用程序,该应用程序在轮询来自SQS的消息后运行作业以将数据上传到数据库,并且该应用程序还包含同一数据库上的REST API。

现在我需要取消上传功能和REST API的耦合。

上传功能将由AWS批处理作业完成,而该批处理作业将由lambda触发。Rest API将像以前一样简单。

挑战是,我需要在同一代码存储库中执行所有这些操作。这是为了避免有3个存储库,一个用于REST API,另一个用于AWS Batch Job,最后一个用于AWS lambda处理程序。

因此试图找出Spring Boot可以提供的解决方案,以不同的模式运行同一应用程序。请帮助。

java spring-boot aws-lambda spring-rest aws-batch
1个回答
0
投票

我不建议将Spring Boot用于lambda-从技术上讲,您可以,但这是浪费金钱。 Spring Boot是Java的开销,它需要更多的内存,因此更昂贵。

您需要创建一个多模块Maven应用程序。这些模块将是:

  1. 现有的Spring Boot应用程序。
  2. 批处理作业。
  3. 公共代码,模块1和2使用。
  4. 简单的新lambda。
  5. ...更多模块,如果需要...

但是如果您仍然出于某种原因仍然希望将现有的Spring Boot应用程序包装到lambda中,则该库将为您提供帮助:

https://github.com/awslabs/aws-serverless-java-container/wiki/Quick-start---Spring-Boot

© www.soinside.com 2019 - 2024. All rights reserved.