Apache Camel 似乎符合要求。
事实上,Apache Camel 是一个很棒的集成框架。这就是重点。它是一个框架,而不是一个产品。所以有多种方法可以运行 Camel 流。作为一个网络应用程序,作为一个独立的应用程序,作为我们自己代码的一部分。Camel 本身对您运行流程的方式非常不可知,这就是为什么您没有在网站中强制执行非常具体的方式。
如果你想要一个开箱即用的产品,它可以使用 Apache Camel 生成容器化部署,你可以看看Apache ServiceMix、Apache Karaf 或者它支持的 RedHat Fuse。
在容器中运行 Camel 是否可以接受且实用,我在哪里可以找到有关它的更多信息?
很好。
问题:你能(你能)用你的(任何其他)应用程序创建一个 docker 容器吗?基于这个技能缺乏的问题,我真的建议学习它。
您可以查看以下帖子https://medium.com/@wkrzywiec/how-to-put-your-java-application-into-docker-container-5e0a02acdd6b
FROM java:8-jdk-alpine
COPY ./target/myapp.jar /usr/app/myapp.jar
WORKDIR /usr/app
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "myapp.jar"]
假设您可以将 ETL 任务作为独立应用程序运行,然后将其作为任何其他独立应用程序在容器中运行。
我们希望避免虚拟机所需的设置和维护
问题:您如何分配骆驼任务?我的意思是 - 你的构建结果是什么?战争档案?一个独立的应用程序?
要构建 Web 应用程序,您可以查看https://www.baeldung.com/spring-apache-camel-tutorial
在 AWS 中部署 war 文件最方便的方法是 AWS Beanstalk 服务。
如果您构建一个独立的应用程序(或使用 servicemix)并且您可以构建一个容器,那么 ECS 或 Fargate 确实是自然的选择。