javascript
springbatch批处理框架入门(一) -凯发ag旗舰厅登录网址下载
目录
springbatch简介
批处理场景
批处理需求
springbatch使用场景
springbatch架构介绍
springbatch分层架构如下
springbatch 总体架构
springbatch基于mysql初始化表
springbatch简介
spring batch是一个轻量级,全面的批处理框架,旨在开发对企业系统日常运营至关重要的强大批处理应用程序。spring batch建立在人们期望的spring框架特性(生产力,基于pojo的开发方法和普遍的易用性)的基础上,同时使开发人员可以在必要时轻松访问和利用更高级的企业服务。 划重点:spring batch不是一个调度框架,而是批处理框架。
批处理场景
在大型企业中,由于业务复杂、数据量大、数据格式不同、数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理。而有一些操作需要定期读取大批量的数据,然后进行一系列的后续处理。这样的过程就是“批处理”。
批处理应用通常有以下特点:
- 数据量大,从数万到数百万甚至上亿不等;
- 整个过程全部自动化,并预留一定接口进行自定义配置;
- 这样的应用通常是周期性运行,比如按日、周、月运行;
- 对数据处理的准确性要求高,并且需要容错机制、回滚机制、完善的日志监控等
批处理需求
批处理作业两个典型特征是批量执行与自动执行(需要无人值守):前者能够处理大批量数据的导入、导出和业务逻辑计算;后者无需人工干预,能够自动化执行批量任务。
在关注其基本功能之外,还需要关注如下的几点:
- 健壮性:不会因为无效数据或错误数据导致程序崩溃;
- 可靠性:通过跟踪、监控、日志及相关的处理策略(重试、跳过、重启)实现批作业的可靠执行;
- 扩展性:通过并发或者并行技术实现应用的纵向和横向扩展,满足海量数据处理的性能需求; 目前批处理框架springbatch正好可以满足以上需求。
springbatch使用场景
- 从数据库,文件或队列中读取大量记录。
- 以某种方式处理数据。
- 以修改后的形式写回数据
其数据流转示意图如下:
spring batch提供了可重用的功能,这些功能对于处理大量记录至关重要,包括日志记录/跟踪,事务管理,作业处理统计信息,作业重启,跳过和资源管理。
springbatch架构介绍
springbatch分层架构如下
这种分层的体系结构突出了三个主要的高级组件:应用程序,核心和基础结构。
- 该应用程序包含开发人员使用spring batch编写的所有批处理作业和自定义代码。
- 批处理核心包含启动和控制批处理作业所需的核心运行时类。它包括实现 joblauncher,job和step。
- 基础结构包含公用的读取器和写入器以及服务(例如retrytemplate),应用程序开发人员(例如itemreader和的读取器和写入器itemwriter)和核心框架本身(重试,这是它自己的库)都使用它们。
springbatch 总体架构
spring batch总体架构如下:
在spring batch中一个job可以定义多个的步骤step,在每一个step里面可以定义其专属的itemreader用于读取数据,itemprocesseor用于处理数据,itemwriter用于写数据,而每一个定义的job则都在jobrepository里面,我们可以通过joblauncher来启动某一个job。
springbatch基于mysql初始化表
当我们在使用springbatch时候,需要在数据库中初始化9张表,以保证我们springbatch可以正常使用。初始化表sql语句是在我们的spring-batch-core包
下面的schema-mysql.sql文件。具体表名如下:
- batch_job_execution
- batch_job_execution_context
- batch_job_execution_params
- batch_job_execution_seq
- batch_job_instance
- batch_job_seq
- batch_step_execution
- batch_step_execution_context
- batch_step_execution_seq
以上对springbatch是做什么以及应用场景做了简单介绍,下一章我们将对springbatch核心类做进一步介绍。如果大家喜欢我的文章可以一键三连,如果大家有什么不懂得可以进微信群来探讨。
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的springbatch批处理框架入门(一)的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇: springbatch适配器详解
- 下一篇: springbatch批处理框架入门(二