并发处理业务

数据量大,并发度高,要支持事物,回滚,并发机制。事务、并发、监控、执行等,并不提供相应的调度功能。因此,如果我们希望批处理任务定期执行,可结合 Quartz 等成熟的调度框架实现。

业务场景:

///分布式下面的批处理系统有Hadoop,有时间可以研究一下,它需要特定的场景

================================================================================================

1.系统业务量很大的情况下,可以现将业务暂时存储下来,在系统不忙的情况下进行批量的处理(就是时候进行归档处理),Spring Batch刚好就是这样的一个框架。

2.主要有基础层,核心层,应用层

3.设计

JobRepository:批处理的任务仓库-----所有提交待处理的批处理任务

JobLanucher:批处理的调度管理器------启动批处理服务,开始处理

Job:具体的批处理作业----------------具体的批处理作业 ?这个可以挂接我们自己的业务

Step:一个批处理作用的一个过程

ItemReader:读取---获取数据

ItemProcessor:处理数据

ItemWriter:写入持久化数据

上述就是批处理的一个处理流程,Spring Batch给我们统一管理,我们仅仅把自己的业务挂接在其组件上即可。

============================================================================================

1、commit-interval:批量进行提交(写入)--reader数目为commit-interval数目时,writer提交写入。

2、retry-limit:此步骤失败后重拾的最大次数,如果超过这个数目,就不会重试。

3、retryable-exception-classes:重试的条件(一般就是通过异常进行中断或者自定义策略)-include,exclude

4、retry-policy:自定义重试的策略----就是条件是什么就可以知道要重试了,有这个retryable-exception-classes不生效SkipPolicy

5、skip-limit:出错进行跳过

6、skippable-exception-classes:-include,exclude

7、skip-policy:自定义策略RetryPolicy

注:任务失败后,首先应该重试几次,如果不行的话,再采用Skip机制,采用Listeners机制记录Log记录(CheckPoint),之后进行任务重做,其次在进行任务的重新启动执行。

组件对外的挂节点—接口,我们可以挂接我们的组件在其架构上--StepListenerSupport,RetryListener,SkipListener,SkipPolicy,RetryPolicy,ItemReader、ItemWriter、ItemProcessor,Tasklet

=============================================================================================

1.tasklet--实现Tasklet接口即可

2.tasklet-chunk---里面有reader,writer,processor

3.listeners-监听器

==============================================================================================

1、split并发--task-executor

2、decision

3、

=============================================================================================

截图来自网络。

可以作为ESB端的批处理组件

批处理框架-spring Batch的更多相关文章

  1. 【转】大数据批处理框架 Spring Batch全面解析

    如今微服务架构讨论的如火如荼.但在企业架构里除了大量的OLTP交易外,还存在海量的批处理交易.在诸如银行的金融机构中,每天有3-4万笔的批处理作业需要处理.针对OLTP,业界有大量的开源框架.优秀的架 ...

  2. Spring Batch 批处理框架

    <Spring Batch 批处理框架>基本信息作者: 刘相 出版社:电子工业出版社ISBN:9787121252419上架时间:2015-1-24出版日期:2015 年2月开本:16开页 ...

  3. 图书简介:Spring Batch批处理框架

    大数据时代批处理利器,国内首度原创解析Spring Batch框架. 内容简介: <Spring Batch 批处理框架>全面.系统地介绍了批处理框架Spring Batch,通过详尽的实 ...

  4. spring batch批处理框架学习

    内如主要来自以下链接: http://www.importnew.com/26177.html http://www.infoq.com/cn/articles/analysis-of-large-d ...

  5. Spring Batch 批处理框架介绍

    前言 在大型的企业应用中,或多或少都会存在大量的任务需要处理,如邮件批量通知所有将要过期的会员,日终更新订单信息等.而在批量处理任务的过程中,又需要注意很多细节,如任务异常.性能瓶颈等等.那么,使用一 ...

  6. spring batch资料收集

    spring batch官网 Spring Batch在大型企业中的最佳实践 一篇文章全面解析大数据批处理框架Spring Batch Spring Batch系列总括

  7. Spring Batch 高级-

    spring batch / 并行处理 / 多线程 分区 1. 并行处理,多线程,分区 http://blog.csdn.net/github_36849773/article/details/692 ...

  8. Spring Batch远程分区的本地Jar包模式

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Spring相关文章:Springboot-Cloud Spring Batch远程分区对于大量数据的处理非常擅长,它的实现 ...

  9. Spring Batch 入门级示例教程

    Spring Batch 入门级示例教程 我将向您展示如何使用Spring Boot创建一个的Spring Batch的Hello World示例. (循序渐进) 因此,如果您是Spring Batc ...

随机推荐

  1. grafana查询中的变量templating

    有时我们在管理成百上千台机器的时候,配置grafana无疑是明智的,因为你不需要一个一个的把每个机器的图形都配置一遍,利用templating就可以瞬间实现n台机器的状态显示了. templating ...

  2. HDU 1501 Zipper(DFS)

    Problem Description Given three strings, you are to determine whether the third string can be formed ...

  3. P1001 第K极值

    P1001 第K极值 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 成成第一次模拟赛 第一道 描述 给定一个长度为N(0<n<=10000)的序 ...

  4. opencv-python教程学习系列4-opencv绘图函数

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv绘图函数,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统 ...

  5. ubuntu mongodb backup/restore (备份和恢复)

    备份(导出) 1.导出单个collection-.json格式 mongoexport --host:127.0.0.1 --port:27017 --db test --collection tes ...

  6. 20155216 2016-2017-2 《Java程序设计》第五周学习总结

    20155216 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 使用try,catch,finally处理异常 JVM会尝试执行try区块中的程序代码,如果 ...

  7. (5)可变、不可变和hash函数

    分类情况 与列表相似,列表用[],元组是()表示 内存角度看列表与数字的变与不变 列表 >>>l = [1,2,3,4] >>>id(l) 4392665160 & ...

  8. C经典案例

    1. C中可变参数函数作为函数参数: void media_debug_set_handler(struct media_device *media, void (*debug_handler)(vo ...

  9. graphql-modules 企业级别的graphql server 工具

    graphql-modules 是一个新开源的graphql 工具,是基于apollo server 2.0 的扩展库,该团队 认为开发应该是模块化的. 几张来自官方团队的架构图可以参考,方便比较 a ...

  10. Oracle Supplemental 补全日志介绍

    转. Oracle补全日志(Supplemental logging)特性因其作用的不同可分为以下几种:最小(Minimal),支持所有字段(all),支持主键(primary key),支持唯一键( ...