【问题标题】:Multifunctional SpringBoot JAVA Application (REST/BATCH/LAMBDA)多功能 SpringBoot JAVA 应用程序(REST/BATCH/LAMBDA)
【发布时间】:2020-10-04 05:51:59
【问题描述】:

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

现在我需要解耦上传功能和 REST API。

上传功能将由一个由 lambda 触发的 AWS Batch Job 完成。 Rest API 将与以前一样简单。

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

因此试图找出spring boot可以提供的解决方案,以不同的模式运行相同的应用程序。请帮忙。

【问题讨论】:

    标签: java spring-boot aws-lambda spring-rest aws-batch


    【解决方案1】:

    我不建议对 lambda 使用 Spring Boot - 从技术上讲你可以,但这是浪费钱。 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

    【讨论】:

    • 感谢分享有关成本的信息。您能否分享一下是否有需要评分的东西,我的问题更多是关于如何像在 CLI 上那样单独运行它们,我可以提供这个模块是否会运行或其他。请分享答案。
    • 我解释了 2 种可能的方法,现在你的工作是深入研究它们。
    猜你喜欢
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 2019-08-06
    • 1970-01-01
    • 2020-12-01
    相关资源
    最近更新 更多