此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Batch 文档 5.2.2! |
Spring Batch 介绍
企业域中的许多应用程序需要批量处理才能执行 关键任务环境中的业务运营。这些业务运营包括:
-
以最高效的方式自动、复杂地处理大量信息 无需用户交互即可处理。这些作通常包括基于时间的事件 (例如月末计算、通知或通信)。
-
定期应用在非常大的环境中重复处理的复杂业务规则 数据集(例如,保险福利确定或费率调整)。
-
整合从内部和外部系统接收的信息,这些 通常需要以事务方式格式化、验证和处理为 记录系统。批处理用于处理每 企业日。
Spring Batch 是一个轻量级、全面的批处理框架,旨在实现 开发对企业日常运营至关重要的强大批处理应用程序 系统。Spring Batch 建立在 Spring Framework 的特性之上,人们 已经达到预期(生产力、基于 POJO 的开发方法以及一般易用性 使用),同时使开发人员可以轻松访问和使用更高级的企业 必要时提供服务。Spring Batch 不是一个调度框架。有很多好的 企业调度程序(例如 Quartz、Tivoli、Control-M 等)在 商业和开源空间。Spring Batch 旨在与 调度程序,而不是替换调度程序。
Spring Batch 提供了处理大量内容所必需的可重用函数 记录,包括日志记录和跟踪、事务管理、作业处理统计、 作业重启、跳过和资源管理。它还提供了更先进的技术 支持极高容量和高性能批处理作业的服务和功能 通过优化和分区技术。您可以在简单的 用例(例如将文件读入数据库或运行存储过程)和 复杂、高容量的用例(例如在数据库之间移动大量数据、 转换它,依此类推)。大批量批处理作业可以在 高度可扩展的方式来处理大量信息。
背景
虽然开源软件项目和相关社区更加关注 关注基于 Web 和基于微服务的架构框架,已经出现了 明显缺乏对可重用架构框架的关注,以适应基于 Java 的批处理 处理需求,尽管仍然需要在企业 IT 中处理此类处理 环境。由于缺乏标准的、可重用的批处理架构,导致 在客户企业 IT 中开发的许多一次性内部解决方案激增 功能。
SpringSource(现为 VMware)和埃森哲合作改变了这一现状。埃森哲的 在实现批处理架构方面具有实践的行业和技术经验, SpringSource 深厚的技术经验,以及 Spring 经过验证的编程模型 共同建立了自然而强大的合作伙伴关系,创造了高质量、与市场相关的合作伙伴关系 旨在填补企业 Java 中重要空白的软件。两家公司都与 许多客户通过开发基于 Spring 的批处理来解决类似的问题 架构解决方案。此输入提供了一些有用的额外细节和现实生活 有助于确保解决方案可以应用于实际问题的约束 由客户提出。
埃森哲将以前专有的批处理架构框架贡献给 Spring Batch 项目,以及提交者资源,以推动支持、增强、 和现有功能集。埃森哲的贡献基于数十年的 使用最近几代 平台:大型机上的 COBOL、Unix 上的 C++,以及现在的 Java anywhere。
埃森哲和 SpringSource 之间的合作旨在促进 软件处理方法、框架和工具的标准化 企业用户在创建批处理应用程序时可以一致使用。公司 以及希望为其提供标准、经过验证的解决方案的政府机构 企业 IT 环境可以从 Spring Batch 中受益。
使用场景
典型的批处理程序通常:
-
从数据库、文件或队列中读取大量记录。
-
以某种方式处理数据。
-
以修改后的形式写回数据。
Spring Batch 自动执行此基本批量迭代,提供处理能力 类似的交易作为一组,通常在没有任何用户的离线环境中 互动。批处理作业是大多数 IT 项目的一部分,而 Spring Batch 是唯一开放的 源框架,提供强大的企业级解决方案。