zoukankan      html  css  js  c++  java
  • 批处理框架-spring Batch

    并发处理业务

    数据量大,并发度高,要支持事物,回滚,并发机制。事务、并发、监控、执行等,并不提供相应的调度功能。因此,如果我们希望批处理任务定期执行,可结合 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端的批处理组件

  • 相关阅读:
    luogu P1075 质因数分解
    luogu P1146 硬币翻转
    [HEOI2013]SAO
    [HAOI2010]软件安装
    [CodeForces-763C]Timofey and remoduling
    [CodeForces-375E]Red and Black Tree
    [CodeForces-178F]Representative Sampling
    [CodeForces-55D]Beautiful Numbers
    [AHOI2009]同类分布
    [ZJOI2010]数字计数
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/3802044.html
Copyright © 2011-2022 走看看