在Mule 4中,每个并行处理记录(使用单线程),而在并行并行处理和批处理中,我们并行处理记录(多个线程)。我想实时知道在哪里选择什么?
任何人都可以在实时用例场景中进行解释,特别是在我们必须选择parallel-foreach以及在何处必须选择批处理的情况下?
答案 0 :(得分:0)
在这个问题的背景下,我不清楚实时是什么意思。这些功能旨在处理批量数据,而不是为单个请求提供服务。如果在这种情况下批次较小,则可以实现某种整体的实时处理。
鉴于我认为解决该问题的最佳方法如下。
1)For Each和Parallel For Each(Mule 4.2.0中引入的新特性)非常相似,因此让我们回顾一下它们之间的区别
2)然后在上面的(1)中给出了For-each处理与批处理有何不同
第1项)在此处的Mule文档中得到了解决https://docs.mulesoft.com/mule-runtime/4.2/parallel-foreach-scope#differences-between-for-each-and-parallel-for-each-scopes
在上面Mule batch processing vs foreach vs splitter-aggregator
中比较了上述项目2)的批次和每个批次简而言之,批处理提供了最大程度的控制,灵活性,但代价是实现起来更加复杂。因为每一个都是火与忘。由于多线程的原因,并行For Each的性能要比Vanilla For Each更好,但结果又更加复杂,例如错误处理。