Spring Batch
随着技术的存在,世界正在快速发展。企业和公司希望更快,更准确地执行任务。这些数据的处理包括每日报告生成,处理批量数据而无需人为干预。Spring批处理是大多数这些任务的解决方案。它支持以事务方式处理批量数据,并以精确和快速的方式执行日常活动。
目录[ 隐藏 ]
Spring Batch
- Spring Batch 基于spring框架,非常轻巧。春季批次的核心概念顾名思义就是批量处理数据。
- 它基于OOPS概念并使用基于POJO的开发。
- Spring Batch使用优化和分区技术为高容量和高性能批处理作业提供高级服务和功能。它具有高度可扩展性,可用于处理大量数据。
- 它不是调度程序,应与调度程序一起使用。
为什么我们需要Spring Batch?
让我们回到历史,看看是否需要弹簧批次。
虽然开源软件项目和开源社区主要关注基于Web和基于消息传递的体系结构框架,但可重用的体系结构框架在适应基于Java的批处理需求方面占据了一席之地,考虑到在a上处理此类处理的持续需求。每天在企业内部。
缺乏标准,可扩展和可重复使用的批处理体系结构导致各公司开发了许多内部解决方案。
SpringSource和埃森哲合作创建了更标准和可重用的东西。凭借在实施批量体系结构方面经过验证的技术经验,SpringSource的深度技术经验和Spring经过验证的编程模型共同构成了一个强大的架构,可以创建高质量,市场相关的软件,旨在填补企业Java中的重要空白。
埃森哲为Spring Batch项目提供了先前的专有批处理架构框架,以及支持团队,增强功能和未来路线图。
Spring Batch 使用
批处理程序从数据库,文件或队列中读取大量记录,根据业务需要处理数据,然后以所需的形式写回数据。
Spring Batch自动执行此基本批处理迭代,提供将类似事务处理为集合的功能,所有这些都可以在脱机环境中完成,无需任何用户交互。
批处理作业是大多数IT项目的一部分,Spring Batch是唯一提供强大的企业解决方案的开源框架。
让我们看一下商业明智和技术方面的春季批次的一些实时用法。
Spring Batch业务用例
- 在一个月末,公司必须向其员工的各自账户发送薪水。
- 月末处理工资单是指可以使用春季批次。
- 发送大量通信电子邮件。
- 用于每日,每周或每月生成自动报告。
- 无需人工干预即自动执行业务工作流程。
Spring Batch技术用例
- 用于以定义的频率执行自动测试。
- 这可用于在预定义频率上执行自动数据库更新。
- 它可以与队列系统一起使用,以处理大量事务而不会出现任何故障。
- Spring批处理可与API一起使用,以执行诸如服务器或应用程序的运行状况检查,负载测试的虚拟数据生成等任务。
Spring Batch Architecture
下图显示了Spring Batch的技术架构。
- 应用程序:它包含开发人员根据业务需求编写的所有批处理作业和代码。
- 批处理核心:它包含运行批处理作业所需的运行时类。JobLauncher,Job和Step实现等类是Batch Core的一部分。
- 批处理基础结构:它包含开发人员和框架本身使用的读写器服务。课程是
ItemReader
和ItemWriter
。它还包含重试读写的服务。
Spring Batch 处理
常规弹簧批处理工作流程如下所示。
- 在显示的工作流程中,使用读取器从数据库读取数据,读取器是Spring Batch的一部分。
- 然后将数据传递给处理器,以根据业务需求处理数据。
- 现在已修改数据的已处理数据将传递给编写器,编写器将数据写回数据库。
- 数据源可以是数据库,文件,队列等。
Spring Batch 优势
让我们看看使用Spring Batch处理的优势。
- 开发人员可以专注于业务逻辑的实现,而框架将负责迭代。
- 由于它是分层架构,因此不同层之间的分离很容易。
- 您可以实现可在整个应用程序中用作通用实现的核心业务逻辑。
- 它在JAR级别提供基础架构和应用程序之间的分离,从而实现轻松且可扩展的部署。
这就是快速介绍Spring Batch的全部内容。