1
在我们的应用程序中,我们有大约 100000 个客户,并且需要每月处理一些数据。每个客户的数据处理逻辑涉及对不同服务的大约 7 次休息调用。我们需要在 Spring Batch 中执行此操作以实现性能。
处理数据的步骤--l读取所有客户列表-获取数据web服务--l调用7个不同的微服务来获取余额、类型、费用、日期等..-l将结果写入S3存储桶
请建议设计春季批次的流程
1
在我们的应用程序中,我们有大约 100000 个客户,并且需要每月处理一些数据。每个客户的数据处理逻辑涉及对不同服务的大约 7 次休息调用。我们需要在 Spring Batch 中执行此操作以实现性能。
处理数据的步骤--l读取所有客户列表-获取数据web服务--l调用7个不同的微服务来获取余额、类型、费用、日期等..-l将结果写入S3存储桶
请建议设计春季批次的流程
您可以创建一个包含多个步骤的流程,其中每个步骤都可以发送“serviceName”作为参数。编写一个基于 serviceName 调用服务的 customReader。在 CustomReader 中,您可以决定调用服务的方式。
List<Step> steps = new ArrayList<>();
for(each of your service){
createStep(String serviceName);
}
private Step createStep(String serviceName){
return stepBuilderFactory.get(""service calls")
.reader(UorCustomReader)
.processor(YourProcessor)//if needed
.writer(YourCustomCompositeWriter)
}