Mule 应用程序 - 多次并行调用相同的 API
Mule app - call same APIs multiple times in parallel
在 Mule 应用程序(使用 Mule 4)中,我试图为字符串输入数组多次调用单个 API,如下所示:
"input_arr": [
"val1", "val2", "val3"
]
所有调用都可以 运行 并行,因为它们是独立的,但我想等待并在它们全部完成后整理结果。另外,如果一个或多个导致错误,我也想获得它。
我尝试了几种不同的方法:
1. 简单的 foreach —— 效率不高,因为它是顺序的。
2. 批处理——是异步的,主流不等待。
在 Mulesoft 中有效实现此目的的最佳方法是什么?
可能的解决方案是使用 Mule 4.2 中的 Parallel Foreach scope。
如果您使用的是 Mule 4.2 +,那么 parallel-foreach
可能会达到您的要求。
Parallel For Each 范围使您能够通过将集合拆分为多个部分来处理消息集合,这些部分在为并发处理配置的任何限制范围内在单独的路由中同时处理。
注意:但是,由于此功能在 Anypoint Studio Mule Palette 视图中不可用,因此您必须在 XML 中手动配置 Parallel For Each 范围。
除并发性外,新作用域还存在一些差异,因此请务必阅读文档:
https://docs.mulesoft.com/mule-runtime/4.2/parallel-foreach-scope
在 Mule 应用程序(使用 Mule 4)中,我试图为字符串输入数组多次调用单个 API,如下所示:
"input_arr": [
"val1", "val2", "val3"
]
所有调用都可以 运行 并行,因为它们是独立的,但我想等待并在它们全部完成后整理结果。另外,如果一个或多个导致错误,我也想获得它。
我尝试了几种不同的方法: 1. 简单的 foreach —— 效率不高,因为它是顺序的。 2. 批处理——是异步的,主流不等待。
在 Mulesoft 中有效实现此目的的最佳方法是什么?
可能的解决方案是使用 Mule 4.2 中的 Parallel Foreach scope。
如果您使用的是 Mule 4.2 +,那么 parallel-foreach
可能会达到您的要求。
Parallel For Each 范围使您能够通过将集合拆分为多个部分来处理消息集合,这些部分在为并发处理配置的任何限制范围内在单独的路由中同时处理。
注意:但是,由于此功能在 Anypoint Studio Mule Palette 视图中不可用,因此您必须在 XML 中手动配置 Parallel For Each 范围。
除并发性外,新作用域还存在一些差异,因此请务必阅读文档: https://docs.mulesoft.com/mule-runtime/4.2/parallel-foreach-scope