SpringBatch简介

批处理工作在面对复杂的业务以及海量的数据处理时,无需人工干预,仅需定期读入批量数据,然后完成相应业务处理并进行归档操作。

典型的批处理应用有如下几个特点:

1、自动执行,根据系统设定的工作步骤自动完成。
2、数据量大,少则百万,多则千万甚至上亿。
3、定时执行,如每天执行、每周或每月执行。

批处理的整个流程可以明显的分为3个阶段:

1、读数据,数据可能来自文件、数据库或消息队列等。
2、处理数据,处理读取的数据并形成输出结构,如银行对账系统的资金对账处理。
3、写数据,将输出结果写入文件、数据库或消息队列等。

SpringBatch

Spring Batch是一个轻量级、完善的批处理框架,旨在帮助企业建立健壮、高效的批处理应用。SpringBatch是Spring的一个子项目,使用java语言并基于Spring框架为基础开发,使得已经使用Spring框架的开发者或者企业更容易访问和利用企业原有服务。

SpringBatch提供了大量可重用的组件,包括日志、事务、任务作业统计、任务重启、跳过、重复、资源管理。对于大数据量和高性能的批处理任务,SpringBacth同样提供了高级功能和特性来支持,比如分区功能、远程功能。总之,通过SpringBatch能够支持简单的、复杂的和大数据量的批处理作业。

SpringBatch是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成批处理任务。它只关注批处理任务相关的问题,如事务、并发、监控、执行等,并不提供相应的调度功能。

SpringBatch批处理框架支撑的业务场景:

1、定期提交批处理任务
2、并行批处理,即并行处理任务
3、企业消息驱动处理
4、大规模的并行处理
5、手动或定时重启
6、按顺序处理依赖的任务(可扩展为工作流驱动的批处理)
7、部分处理,如在回滚时忽略记录
8、完整的批处理事物

SpringBatch批处理框架支撑的技术目标:

1、利用Spring编程模型,使程序员专注于业务处理,让Spring框架管理流程
2、明确分离批处理的执行环境和应用
3、将通用核心的服务以接口形式提供
4、提供“开箱即用”的简单的默认的核心执行接口
5、提供Spring框架中配置、自定义和扩展服务
6、所有默认实现的核心服务能够容易的被扩展与替换,不会影响基础层
7、提供一个简单的部署形式,使用Maven进行编译

SpringBatch架构

SpringBatch核心架构分为三层:应用层、核心层、基础架构层。

这里写图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值