【问题标题】:What are the main differences b/w foreach, parallel foreach and Batch processing in Mule 4Mule 4中foreach,parallel foreach和Batch processing的主要区别是什么
【发布时间】:2019-12-03 13:28:23
【问题描述】:

在 Mule 4 中,For-each 顺序处理记录(使用单线程),而在 parallel-foreach 和批处理中,我们并行处理记录(多线程)。我想知道实时场景在哪里选择什么?
谁能解释一下实时用例场景,特别是我们必须选择并行foreach以及我们必须选择批处理的地方?

【问题讨论】:

  • 请澄清实时场景是什么意思。
  • 我的意思是,我们必须在哪里使用 parallel-foreach ?什么时候 parallel-foreach 是最好的选择(当我们看到与 batch 比较时)?什么时候批处理是最好的选择(当我们看到与 parallel-foreach 比较时)?

标签: mule mule-studio mule-component mule-esb


【解决方案1】:

我不清楚在这个问题的上下文中实时是什么意思。这些功能旨在处理批量数据,而不是为单个请求提供服务。如果场景中的批次很小,那么可能可以实现某种整体实时处理。

鉴于我认为解决问题的最佳方法如下。

1) For Each 和 Parallel For Each(新,在 Mule 4.2.0 中引入)非常相似,所以让我们回顾一下它们之间的区别

2) 那么上面给出的 1) For-each 处理与 Batch 有何不同


上面的第 1) 项在此处的 Mule 文档中得到解决 https://docs.mulesoft.com/mule-runtime/4.2/parallel-foreach-scope#differences-between-for-each-and-parallel-for-each-scopes

上面第 2) 项的 Batch 和 For Each 在这里比较 Mule batch processing vs foreach vs splitter-aggregator

简而言之,Batch 提供了最大程度的控制和灵活性,但代价是实现起来更加复杂。 For Each 是更多的火和忘记。由于多线程,Parallel For Each 比 vanilla For Each 性能更高,但结果再次更复杂,例如错误处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 2016-08-08
    • 2012-06-11
    • 2016-04-04
    • 2014-06-06
    • 2016-06-11
    相关资源
    最近更新 更多