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 call,SQL / JPA等。
Camel可以处理大量数据,并提供一些很好的功能,这将使这项任务更容易,如streaming
和split
。
以上是关于Java spring boot + spring batch:处理大量信息的主要内容,如果未能解决你的问题,请参考以下文章
java Spring Cloud+Spring boot+mybatis企业快速开发架构之SpringCloud-Spring Boot Starter的介绍及使用
Java高级教程 Java微服务架构(Spring Boot + Spring Cloud)
软帝学院Spring Boot 是什么?为什么说java程序员必须要掌握Spring Boot ?
java Spring Boot @Scheduled + Spring Security @PreAuthorize = RunAs