Spring Batch是否适合处理大量单个文件?
Spring Batch似乎面向以数据为中心的工作。我要求从S3存储桶中删除数百万个文件,解压缩它们,根据内容执行某些逻辑,然后调用Web服务。
手工实施这一点很简单,但在跟踪工作执行情况以及工作失败前相处多远时,我并不太喜欢重新发明轮子。 Spring Batch似乎非常适合这种作业监控,但我不确定是否颠覆它来进行文件处理是一个过程。
答案 0 :(得分:2)
简短回答是,您可以使用弹簧批量。我做了一个小POC,我们不得不在批处理过程中将数百万个图像从源系统迁移到目标系统,并且它运行良好恕我直言。
添加评论@Prasanna Talakanti,我建议使用Spring Integration和Spring Batch的组合。虽然Spring批处理将为您提供批处理的基础结构(间隔提交,如果失败则重新启动作业等),Spring集成将为您提供Web服务网关周围的事物。
在Spring批处理中,您可以定义阅读器,用于从S3读取数据和编写器,以便在需要时使用处理器写入目的地。您还可以微调提交间隔,因此如果作业在两者之间失败,您就有了回滚点。