S旧花区政模谓长pring Batc套向已社好皮h 是一个轻量律兴年许甚敌烈般优级的、完善的批处理框架,来自旨在帮助企业斗鱼口搞静察业系裂建立健壮、高效360百科的批处理应用。Spring Batch是Spring的一个子项目,使用玉苦Java语言并基于Spring框模步服粒航架为基础开发,使的已经使用 Spring 框架的开发者或者企业更容易访问和利用企业服务。
Spring Batch 统房察员乙供了大量可重用的组件,包括了日志、追踪、事务、任务作业统计、任务胶重启、跳过、重复、资源管理。对于大数据量和高性能的批处理任务,Spring Batch 同样ﰁ供了高级功能和特性来支持,比如分区功能、远程功能。总之,通过 Spring Batch 能够支持简单的、复杂的和大数据群困呢盟巴伯走剧量的批处理作业。
Spring Batch 是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成的映批处理任务。它只关注批处理任务相关的问题,如事务、并发、监控、执行等,并不ﰁ供相应的浓迫难路未怀父调调度功能。如果需要使用调用框架,在商业软场降龙于件和开源软件中已经有很多优秀的甲更突企业级调度框架(如 容孔车祖观黑线利立Quartz、Tivoli、Co解手待ntrol-M、Cr级选织般刑站余工on 等)可以使调你否用。
- 中文名 批处理框架
- 外文名 Spring Batch
- 所 属 组件
- 类 型 批处理框架
- 相 关 Spring
简介
Spring Batch是一个批处理的框架,作为一个 Spring 组件,提供了通过使用 Sprin来自g 的 依赖注入(dependency injecti360百科on) 来处理批处理的条件。
业务场景
· 周期性的提交批处理
· 把一个任务并行处理
· 消息驱动应用分级处理
· 大规模并行了么伯受古香段批处理
· 手工或调度使任务失败之后重新启动
· 有依赖步骤的顺序执行(使用工作流驱动扩展)
· 处理时跳过部分记录
· 成批事务:为小批量的或有的存储过程/脚本的场景使用
技术目标
· 开发者使用Spring编程模型,编写具体的业务逻辑。SpringBatch框架提供基础服务。
· 清楚的区分基础服务、执行环境和应用的关系
· 提供基本的执行服务接口。所有的项目都可以去实现这些接口
· 提供基本的执行服务的缺省实现。可以直接拿来使用。
· 可以在框架各层上方便的配置、定制已经扩展
· 核心服务可以在基础服务不受任何影响的情况下轻松的替换或扩展。
· 提供一个基本的部署模型。框架的Jar包完全独立于应用
架构图
Spring Batch使用三层架构,三层分别为应用、核心和基础服务。应用层是用户写的批处理任务。核心层包含执行和控制任务必须的核心类。如JobLauncher、Job和Step的实现。应用和核心层基于一层公用的基础服务。基础服务包括通用的Reader,Writers,RetryTemplate。
优势
Spring Batch 是 SpringSource 和 Accenture(埃森哲)合作开发的。Accenture 在批处理架构上有着丰富的工业级别的经验,贡献了之前专用的批处理体系框架(这些框架历经数十年研发和使用,为Spring Batch