我有一个场景,其中我有一个ID列表,对于每个ID,从多个API获取数据并聚合它们(这是加载阶段),然后将其写入DB。我知道我们可以使用批处理来写入db,但是加载阶段呢?
发布于 2017-12-15 23:42:27
为此,您应该能够使用foreach作用域。
你的ID列表将在它到达foreach之前就在你的有效载荷中。您可以使用设置为请求-响应的HTTP组件,这样,您需要的所有数据都将在您访问DB组件以保存数据之前被获取。
发布于 2018-03-20 19:51:13
从多个API获取数据需要时间,并且必须保持在批处理步骤中。对于每条记录,在获取数据后,将其移动到VM队列。在on complete阶段,使用mule请求程序从vm队列中获取详细信息并插入到数据库中。在db中插入是一个单独的步骤,不需要批处理。
发布于 2018-03-25 05:48:36
您可以为每个id使用scatter-gather,并从多个接口获取数据。Scatter-Gather向响应上的多个目标concurrently.Based发送请求消息,您可以实现响应的聚合策略。
使用mule batch也可以做类似的事情。
参考资料:https://docs.mulesoft.com/mule-user-guide/v/3.9/scatter-gather
https://stackoverflow.com/questions/47780064
复制相似问题