浅谈SpringBatch在大型企业中的最佳实践-创新互联

在大型企业中,由于业务复杂、数据量大、数据格式不同、数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理。而有一些操作需要定期读取大批量的数据,然后进行一系列的后续处理。这样的过程就是“批处理”。

成都创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、网站制作、成都网站设计易于使用并且具有良好的响应性。

批处理应用通常有以下特点:

  1. 数据量大,从数万到数百万甚至上亿不等;
  2. 整个过程全部自动化,并预留一定接口进行自定义配置;
  3. 这样的应用通常是周期性运行,比如按日、周、月运行;
  4. 对数据处理的准确性要求高,并且需要容错机制、回滚机制、完善的日志监控等。

什么是Spring batch

Spring batch是一个轻量级的全面的批处理框架,它专为大型企业而设计,帮助开发健壮的批处理应用。Spring batch为处理大批量数据提供了很多必要的可重用的功能,比如日志追踪、事务管理、job执行统计、重启job和资源管理等。同时它也提供了优化和分片技术用于实现高性能的批处理任务。

它的核心功能包括:

  1. 事务管理
  2. 基于块的处理过程
  3. 声明式的输入/输出操作
  4. 启动、终止、重启任务
  5. 重试/跳过任务
  6. 基于Web的管理员接口

笔者所在的部门属于国外某大型金融公司的CRM部门,在日常工作中我们经常需要开发一些批处理应用,对Spring Batch有着丰富的使用经验。近段时间笔者特意总结了这些经验。

使用Spring Batch 3.0以及Spring Boot

在使用Spring Batch时推荐使用最新的Spring Batch 3.0版本。相比Spring Batch3.2,它做了以下方面的提升:

  1. 支持JSR-352标准
  2. 支持Spring4以及Java8
  3. 增强了Spring Batch Integration的功能
  4. 支持JobScope
  5. 支持SQLite

支持Spring4和Java8是一个重大的提升。这样就可以使用Spring4引入的Spring boot组件,从而开发效率方面有了一个质的飞跃。引入Spring-batch框架只需要在build.gradle中加入一行代码即可:

compile("org.springframework.boot:spring-boot-starter-batch")

当前标题:浅谈SpringBatch在大型企业中的最佳实践-创新互联
文章起源:http://scyanting.com/article/djogce.html