Java spring boot + spring batch:处理大量信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java spring boot + spring batch:处理大量信息相关的知识,希望对你有一定的参考价值。

我必须创建一个Java 8批处理过程(使用spring boot和spring batch),它将执行以下操作(1次执行的详细信息):

  • 从N个不同的信息源(3个Web服务,3个不同的数据库)获取信息,我看到我需要启动5个以上的不同查询,调用大约14种服务方法。我已经计算出信息量总共约为500,000到1,000,000个信息数据。
  • 过程信息(简单的数学计算,但有必要提供所有以前的信息量)。
  • 进行多次计算。
  • 将结果保存在数据库中。

此过程取决于某些输入数据,这些输入数据将导致进程在一天中的给定时间同时运行23次(使用不同基础数据执行不同的执行,在获取或处理信息方面没有问题,因为它不是共同信息)。

我看到的问题与操纵最终执行计算的信息量有关,我不清楚如何以及在何处操纵信息。我看到一些选项,如:

  • 直接在Java中:我知道这不是一个选项,因为它可能会出现JVM(Stackoverflow等)的性能问题。
  • 使用无SQL数据库:虽然我不确定,但它可能很有趣。
  • 缓存系统:虽然我不确定,但它可能很有趣。
  • 针对某些DB的临时表:这个选项对我来说似乎很有趣,我可以在临时表中插入整组信息,并使用查询执行相同的计算以获得最终结果。

关于我可以用来操纵信息集的替代方案或系统的任何想法?

谢谢!!

答案

作为替代方案,您可以使用Apache Camel。它有不同的组件,涵盖了您的所有要求:web service callSQL / JPA等。

Camel可以处理大量数据,并提供一些很好的功能,这将使这项任务更容易,如streamingsplit

以上是关于Java spring boot + spring batch:处理大量信息的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 各版本的Java版本要求

java Spring Cloud+Spring boot+mybatis企业快速开发架构之SpringCloud-Spring Boot Starter的介绍及使用

Java高级教程 Java微服务架构(Spring Boot + Spring Cloud)

软帝学院Spring Boot 是什么?为什么说java程序员必须要掌握Spring Boot ?

Spring Boot自动配置原理(转)

java Spring Boot @Scheduled + Spring Security @PreAuthorize = RunAs