限制并发量与批次大小
根据下游容量和资源使用选择最大活动任务数,而不只是看项目数量。当工作流产生任务的速度超过依赖服务处理能力时,应实施背压。
只有操作语义允许部分完成时才分组处理。为每个项目分配稳定标识,并确保副作用具备幂等性,以便单独重试失败分支。
有计划地收集结果并恢复
定义一个分支失败时是停止整个工作流、允许其他分支完成,还是将失败项送交审查。保留成功结果,避免恢复时重复执行。
监控活动分支数、队列深度、耗时和失败率。测试取消、超时及下游变慢,确认扇出符合资源与服务限制。
扇出可以加快独立项目的处理,但无限并行可能耗尽连接、超过下游限制,或让取消和部分恢复变得困难。应设置并发上限,并定义结果和失败的收集方式。
根据下游容量和资源使用选择最大活动任务数,而不只是看项目数量。当工作流产生任务的速度超过依赖服务处理能力时,应实施背压。
只有操作语义允许部分完成时才分组处理。为每个项目分配稳定标识,并确保副作用具备幂等性,以便单独重试失败分支。
定义一个分支失败时是停止整个工作流、允许其他分支完成,还是将失败项送交审查。保留成功结果,避免恢复时重复执行。
监控活动分支数、队列深度、耗时和失败率。测试取消、超时及下游变慢,确认扇出符合资源与服务限制。