浅谈SpringBatch在大型企业中的最佳实践-创新互联
在大型企业中,由于业务复杂、数据量大、数据格式不同、数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理。而有一些操作需要定期读取大批量的数据,然后进行一系列的后续处理。这样的过程就是“批处理”。
成都创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、网站制作、成都网站设计易于使用并且具有良好的响应性。批处理应用通常有以下特点:
- 数据量大,从数万到数百万甚至上亿不等;
- 整个过程全部自动化,并预留一定接口进行自定义配置;
- 这样的应用通常是周期性运行,比如按日、周、月运行;
- 对数据处理的准确性要求高,并且需要容错机制、回滚机制、完善的日志监控等。
什么是Spring batch
Spring batch是一个轻量级的全面的批处理框架,它专为大型企业而设计,帮助开发健壮的批处理应用。Spring batch为处理大批量数据提供了很多必要的可重用的功能,比如日志追踪、事务管理、job执行统计、重启job和资源管理等。同时它也提供了优化和分片技术用于实现高性能的批处理任务。
它的核心功能包括:
- 事务管理
- 基于块的处理过程
- 声明式的输入/输出操作
- 启动、终止、重启任务
- 重试/跳过任务
- 基于Web的管理员接口
笔者所在的部门属于国外某大型金融公司的CRM部门,在日常工作中我们经常需要开发一些批处理应用,对Spring Batch有着丰富的使用经验。近段时间笔者特意总结了这些经验。
使用Spring Batch 3.0以及Spring Boot
在使用Spring Batch时推荐使用最新的Spring Batch 3.0版本。相比Spring Batch3.2,它做了以下方面的提升:
- 支持JSR-352标准
- 支持Spring4以及Java8
- 增强了Spring Batch Integration的功能
- 支持JobScope
- 支持SQLite
支持Spring4和Java8是一个重大的提升。这样就可以使用Spring4引入的Spring boot组件,从而开发效率方面有了一个质的飞跃。引入Spring-batch框架只需要在build.gradle中加入一行代码即可:
compile("org.springframework.boot:spring-boot-starter-batch")
分享标题:浅谈SpringBatch在大型企业中的最佳实践-创新互联
标题路径:http://lswzjz.com/article/djogce.html