并行每次vs散点图聚集

时间:2020-01-16 11:16:56

标签: multithreading esb anypoint-studio dataweave mule4

我有多条记录:

{
 "item_id":1",
 key1: "data1"
}
{
  item_id:2
 key1: "data1"
}
{
  item_id:2
 key1: "data1"
}
{
  item_id:1
 key1: "data1"
}

我不想顺序处理它们。可能有200多个记录。我应该使用 for-each parallel scatter-gather 处理它们。根据我的要求,哪种方法最好。 我不需要累积的响应,但是如果在处理(根据if条件为每个记录命中一个api)时有任何异常,则对其他记录的处理必须保持不受影响。

3 个答案:

答案 0 :(得分:2)

然后为什么不使用VM模块,将集合分成单独的记录并将其推送到VM队列呢?然后使用VM侦听器进行另一个流程,以并行方式拾取各个记录并进行处理。 以下是更多详细信息:https://docs.mulesoft.com/mule-runtime/4.2/reliability-patterns

答案 1 :(得分:2)

散布聚集是指您的路由数量固定的情况。想象有一条路由发送到HR系统,另一条路由到会计系统。

要处理可变数量的记录,应对每个记录使用并行的记录。

答案 2 :(得分:1)

使用foreach异步,并行或jms模式。 Scater-gather会为所有线程接收一个有效负载,您将无法循环