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