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的编程模型接口相似,好像都是这种思想的模拟
Spring Batch批处理以及编程模型的更多相关文章
- Spring Batch 批处理框架
<Spring Batch 批处理框架>基本信息作者: 刘相 出版社:电子工业出版社ISBN:9787121252419上架时间:2015-1-24出版日期:2015 年2月开本:16开页 ...
- 图书简介:Spring Batch批处理框架
大数据时代批处理利器,国内首度原创解析Spring Batch框架. 内容简介: <Spring Batch 批处理框架>全面.系统地介绍了批处理框架Spring Batch,通过详尽的实 ...
- 三种方式实现观察者模式 及 Spring中的事件编程模型
观察者模式可以说是众多设计模式中,最容易理解的设计模式之一了,观察者模式在Spring中也随处可见,面试的时候,面试官可能会问,嘿,你既然读过Spring源码,那你说说Spring中运用的设计模式吧, ...
- spring batch批处理框架学习
内如主要来自以下链接: http://www.importnew.com/26177.html http://www.infoq.com/cn/articles/analysis-of-large-d ...
- Spring Batch 批处理框架介绍
前言 在大型的企业应用中,或多或少都会存在大量的任务需要处理,如邮件批量通知所有将要过期的会员,日终更新订单信息等.而在批量处理任务的过程中,又需要注意很多细节,如任务异常.性能瓶颈等等.那么,使用一 ...
- Spring Batch 批处理原则与建议
Spring Batch 批处理原则与建议 当我们构建一个批处理的过程时,必须注意以下原则: 通常情况下,批处理的过程对系统和架构的设计要够要求比较高,因此尽可能的使用通用架构来处理批量数据处理,降低 ...
- 跑批 - Spring Batch 批处理使用记录
根据spring官网文档提供的spring batch的demo进行小的测验 启动类与原springboot启动类无异 package com.example.batchprocessing; imp ...
- Spring Boot 之 Spring Batch 批处理实践
实践内容 从 MariaDB 一张表内读 10 万条记录,经处理后写到 MongoDB . 具体实现 1.新建 Spring Boot 应用,依赖如下: <!-- Web 应用 --> & ...
- 配置 Spring Batch 批处理失败重试机制
1. 引言 默认情况下,Spring批处理作业在执行过程中出现任何错误都会失败.然而有些时候,为了提高应用程序的弹性,我们就需要处理这类间歇性的故障. 在这篇短文中,我们就来一起探讨 如何在Sprin ...
随机推荐
- Android Gradle 理解
/********************************************************************************* * Android Gradle ...
- 《DSP using MATLAB》Problem 3.8
2018年元旦,他乡加班中,外面尽是些放炮的,别人的繁华与我无关. 代码: %% ----------------------------------------------------------- ...
- hdu1087 dp(最大上升子序列和)
题意,给出一列数,要求所有上升子序列中序列和最大的. 这回不是求长度了,但是还是相当基础的 dp 水题,只要用 dp [ q ] 记录以 第 q 个数 a [ q ] 为结尾的上升子序列的最大的和就可 ...
- mongo dos操作
https://www.cnblogs.com/beileixinqing/p/8241822.html 基础1 https://blog.csdn.net/superjunjin/article/d ...
- Vue2.x directive自定义指令
directive自定义指令 除了默认设置的核心指令( v-model 和 v-show ),Vue 也允许注册自定义指令. 注意,在 Vue2.0 里面,代码复用的主要形式和抽象是组件——然而,有的 ...
- MySQL Transaction--事务隔离级别基础
MYSQL 支持的事务隔离级别 REPEATABLE READ READ COMMITTED READ UNCOMMITTED SERIALIZABLE InnoDB 默认使用REPEATABLE R ...
- Hive2:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
[root@node1 ~]# hive which: no hbase in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bi ...
- sqlserver linux 容器运行
sqlserver linux 版本的容器大小目前已经相对比较小了,对于开发来说已经比较方便了 docker-compose 文件 version: "3" services: d ...
- hive 安装、知识点
hive 查询语句: 语句 含义 show database; 或 show schemas; 查看数据库 show tables; hive显示所有表 set; 查看hive配置信息 问题:load ...
- Generator 知识点
Generator 函数的执行过程,其实是将同一个回调函数,反复传入 next 方法的 value 属性. Iterator 接口的 next 方法必须是同步的,只要调用就必须立刻返回值.也就是说,一 ...