• Spring Batch批处理以及编程模型


    1.批处理:

      类似于SQL里面的批处理提交

    2.场景:

      业务定时进行批处理操作,但是批处理的编程模型是怎么的呢?

    3.开源框架

      Spring Batch

    4.编程模型:

      reader-processor-writer

      JobLauncher - Job - JobExecution -JobParametersValidator

      JobExecution result = launcher.run(job, new JobParameters()); //runJob机制

    5.策略

      a.批量提交,配置事务  commit-interval="1000"

      b.失败策略   skip-policy skip-limit skippable-exception-classes (我们在项目一般仅仅记录日志,之后人工进行处理或者重试)

      c.重试策略   retry-limit    retry-policy

      d.监控策略   Listeners

      e.工作流:

      f.map—reduce:Spliter/Parallel、Flow(发现Map-Reduce思想这里也有,BPM里面以及ESB都有这样的概念),结合到了线程池

    6.与ESB进行集成

      支持集群部署,但是个人觉得内置的Flow有点别扭,因为这设计到了数据库内置的表结构,最好使用BPM进行代替比较好

    看了这些概念,看看一图,了解一下

    可以和MQ,RDBMS,FlatFile,Socket接入做系统集成。

    上图目前个人感觉和Map-Reduce的编程模型接口相似,好像都是这种思想的模拟

  • 相关阅读:
    STM32学习笔记1(ADC多通道采样)
    SQL Server索引管理之六大铁律
    如何激励员工?
    第一周学习计划
    山寨STL实现之traits,construct&destruct
    山寨STL实现之内存池
    山寨STL实现之vector
    山寨STL实现之allocator
    Python 开发环境搭建
    Java | Python 流程控制对比
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/3984504.html
Copyright © 2020-2023  润新知