【发布时间】:2022-06-11 18:29:25
【问题描述】:
有一个流必须基于特定字段并行解析消息。
使用groupBy 不是一种选择,因为它会收集大量结果,然后对它们进行分组(它会引入延迟)。
另外,如果使用subscribeOn(Schedulers.single()),结果还可以,但是会引入饥饿问题。
例如,具有相同batchId 的订单应按顺序执行。因此,订单 1 和订单 2 应该顺序处理,订单 3 可以并行执行。
record Order(Integer id,Integer batchId){}
void testParallel() {
Flux.just(new Order(1,1),new Order(2,1),new Order(3,2));
}
【问题讨论】:
标签: parallel-processing spring-webflux project-reactor