在springbatch使用的过程中,我们通常情况下,需要提高机器的处理能力会考虑使用多线程,但是多线程的情况下无法保证数据有序处理(一小部分数据需要保证有序,大部分数据无需顺序)。解决方案如下:
1.使用两个并行的step,从数据获取到处理都是并行的方式。一个是多线程的step处理支持无序的部分数据,一个单线程的step处理有序的数据
2.使用两个串行的step,一个多线程的step处理无需顺序的数据,一个单线程处理需要有序的数据(同时单线程也可以兜底重试多线处理失败的数据)
在springbatch使用的过程中,我们通常情况下,需要提高机器的处理能力会考虑使用多线程,但是多线程的情况下无法保证数据有序处理(一小部分数据需要保证有序,大部分数据无需顺序)。解决方案如下:
1.使用两个并行的step,从数据获取到处理都是并行的方式。一个是多线程的step处理支持无序的部分数据,一个单线程的step处理有序的数据
2.使用两个串行的step,一个多线程的step处理无需顺序的数据,一个单线程处理需要有序的数据(同时单线程也可以兜底重试多线处理失败的数据)