我有一个场景,我有一个ID列表,每个ID从多个API获取数据并聚合它们(这是加载阶段),然后将其写入DB。我知道我们可以使用批处理来写入db,但是加载阶段呢?
答案 0 :(得分:1)
您应该可以使用 foreach 范围。
您的有效负载列表会在到达 foreach 之前显示在您的有效负载中。您可以将HTTP组件设置为请求 - 响应,这样就可以在到达数据库组件之前获取所需的所有数据以保存数据。
答案 1 :(得分:0)
从多个API获取数据需要花费时间,并且必须保留在批处理步骤中。对于每条记录,在获取数据后,将其移动到VM队列。在完成阶段,使用mule请求者从vm队列中获取详细信息并在db中插入。在db中插入只需一步,不需要批处理
答案 2 :(得分:0)
您可以为每个ID使用scatter-gather,并从多个api中获取数据。 Scatter-Gather同时向多个目标发送请求消息。基于响应,您可以实现响应的聚合策略。
同样可以使用mule批次来完成。
参考文献:https://docs.mulesoft.com/mule-user-guide/v/3.9/scatter-gather