随着科技的存在,世界正在飞速发展。企业和企业希望更快、更准确地执行任务。这些数据的处理包括每天生成报告,在不需要人工干预的情况下处理大量数据。springbatch是大多数这些任务的解决方案。它支持以事务方式处理批量数据,并以精确和快速的方式执行日常活动。
目录
Spring批处理
- Spring批处理基于spring框架而且非常轻便。springbatch的核心概念顾名思义就是批量处理数据。
- 它基于OOPS概念并使用基于POJO的开发。
- springbatch使用优化和分区技术为大容量和高性能的批处理作业提供高级服务和特性。它具有很高的可扩展性,可用于处理大量数据。
- 它不是调度程序,应该与调度程序一起使用。
为什么我们需要Spring批处理?
让我们回到历史的角度来研究Spring批次的需求。
虽然开源软件项目和开源社区主要集中在基于web和基于消息传递的架构框架上,但考虑到企业内部每天处理此类处理的持续需求,可重用架构框架在满足基于Java的批处理需求方面处于次要地位。
由于缺乏一个标准的、可伸缩的和可重用的批处理体系结构,导致许多公司开发了许多内部解决方案。
春源和埃森哲合作创建更标准和可重用的东西。SpringSource拥有实现批处理体系结构的成熟技术经验,其深厚的技术经验和spring久经考验的编程模型共同构成了一个强大的体系结构,可以创建高质量、与市场相关的软件,旨在填补企业Java的一个重要空白。
Accenture将以前专有的批处理体系结构框架贡献给Spring批处理项目以及支持团队、增强功能和未来路线图。
Spring批量使用
批处理程序从数据库、文件或队列中读取大量记录,根据业务需要处理数据,然后以所需的形式写回数据。
springbatch自动化了这个基本的批处理迭代,提供了将类似事务作为一个集合处理的能力,所有这些都可以在离线环境中完成,而无需任何用户交互。
批处理作业是大多数IT项目的一部分,springbatch是唯一一个提供健壮的企业解决方案的开源框架。
让我们看看springbatch在业务和技术方面的一些实时用法。
Spring批处理业务用例
- 在一个月底,当一家公司必须把工资汇入其雇员各自的帐户时。
- 月末工资单的处理是可以使用Spring批处理的时候。
- 发送大众传播电子邮件。
- 用于生成每日、每周或每月的自动报告。
- 无需人工干预即可自动执行业务流程。
Spring批处理技术用例
- 用于在指定频率下自动执行测试。
- 这可以用于在预定义的频率上执行自动数据库更新。
- 它可以与队列系统一起使用,以处理大量事务而不会出现任何故障。
- springbatch可以与api一起用于执行诸如服务器或应用程序的健康检查、负载测试的虚拟数据生成等任务。
Spring批处理体系结构
下图显示了springbatch的技术架构。
- 应用:包含开发人员根据业务需要编写的所有批处理作业和代码。
- 批式堆芯:它包含运行批处理作业所需的运行时类。JobLauncher、Job和Step实现等类是批处理核心的一部分。
- 编写器和服务本身包含由开发人员使用的批处理框架和服务。课程是
ItemReader
andItemWriter
. It also contains services to retry read and write.
Spring批处理
下面显示了一个常规的spring批处理工作流。
- 在显示的工作流中,使用Spring批处理的一部分reader从数据库中读取数据。
- 然后将数据传递给处理器,根据业务需求对数据进行处理。
- 处理后的数据(现在是修改的数据)被传递给写入程序,编写器将数据写回数据库。
- 数据源可以是数据库、文件、队列等。
Spring批量优势
让我们看看使用Spring批处理的优点。
- 开发人员可以集中精力实现业务逻辑,框架将负责迭代。
- 由于它是一个分层的体系结构,不同层之间的解耦很容易。
- 作为一个通用的应用程序,你可以在整个业务实现中使用通用逻辑。
- 它在JAR级别提供了基础设施和应用程序之间的分离,从而实现了简单和可伸缩的部署。
以上是对Spring Batch的快速介绍。
参考文献:项目官方页面