mule - Mule 4中黑白foreach,并行foreach和批处理的主要区别是什么
问题描述
在 Mule 4 中,For-each 按顺序(使用单线程)处理记录,而在 parallel-foreach 和批处理中,我们并行(多线程)处理记录。我想知道实时场景在哪里选择什么?
谁能解释一下实时用例场景,特别是我们必须选择 parallel-foreach 和必须选择 batch 的地方?
解决方案
我不清楚在这个问题的上下文中实时是什么意思。这些功能旨在处理批量数据,而不是服务于单个请求。如果场景中的批次很小,那么可能可以实现某种整体实时处理。
鉴于我认为解决这个问题的最佳方法如下。
1) For Each 和 Parallel For Each (new, 在 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骡批处理 vs foreach vs splitter-aggregator
简而言之,Batch 提供了最大程度的控制和灵活性,但代价是实现起来更加复杂。For Each 是更多的火和忘记。由于多线程,Parallel For Each 比 vanilla For Each 性能更高,但结果又更复杂,例如错误处理。
推荐阅读
- c# - 会话成功后获得条纹处理费
- reactjs - 如何更改 iframe 内的更改颜色 - React
- elasticsearch - 如何在 Kibana 数据表中隐藏存储桶列
- json - React,AWS GraphQL 错误处理 - JSON 响应
- matlab - 我得到以下数控系统:
- postgresql - Flask SQLAlchemy Heroku 错误:重复键值违反唯一约束
- html - Scroll Snap Over 滚动
- powershell - 带有 powershell 的 Azure 函数应用无法启动容器实例
- sql-server - 使用计算字段作为参数?
- c++ - vs code c/c++调试卡住,只显示在调用栈中运行,不显示任何变量