Mule 4:内存管理:如何管理具有巨大数据(例如300 Mb)的变量?

问题描述 投票:0回答:1

我正在研究一个ule子应用程序,该应用程序从数据库中获取成千上万条记录,做一个映射以使用dataweave更改传入记录的结构,并将数据插入Salesforce。我遵循的步骤是:

  1. 一次从db获取所有记录(> 100k),并将其存储在一个mule变量“ vars.fetchedRecords”中]
  2. 对每个组件使用a来批量处理大小为10k的这些“ fetchRecords”
  3. 在每个内部,我使用的是Dataweave转换器,在其中我使用var来保存新的映射对象列表

如何优化此过程?在变量中保存如此多的记录会影响应用程序的性能吗?有更好的方法吗?

dataweave mule4
1个回答
0
投票

看来没有必要将记录保留在内存中。您只需要处理它们。对吧?

其中一种方法是使用水印。标记您在数据库中所做的工作,然后再处理其余的工作。 ule子具有内置的capabailiteis可以处理水印。https://docs.mulesoft.com/connectors/object-store/object-store-to-watermark

© www.soinside.com 2019 - 2024. All rights reserved.