我需要将一些数据从一个表迁移到另一个表,并在这两个表之间进行一些处理。处理是专有的,并作为REST服务公开。因此,我需要从调用REST服务的表中读取记录,然后将处理后的记录写入另一个表中。我该如何将其实现为Spring Batch,以便我可以为多个记录并行进行REST调用,因为我希望每个记录都花很多时间?我计划进行REST调用的ItemProcessor仅在处理方法中接受单个Item。
答案 0 :(得分:1)
当处理成为瓶颈时,可以使用:
AsyncItemProcessor
:这将异步处理项目,并有助于扩展处理范围。在此处查看有关此组件的更多详细信息:https://docs.spring.io/spring-batch/4.0.x/reference/html/spring-batch-integration.html#asynchronous-processors
远程分块:使用此可伸缩性选项,您可以将数据发送到远程工作程序进行处理。通过根据需要添加更多工作人员,这可以帮助您水平扩展处理。本节中有关远程分块的更多详细信息:https://docs.spring.io/spring-batch/4.0.x/reference/html/spring-batch-integration.html#remote-chunking
在选择可伸缩性选项时,您需要注意一些重要的注意事项,它们在此处进行了详细说明:https://stackoverflow.com/a/20342308/5019386