使用HTTP连接器在mule中通过HTTP传递输入流

时间:2016-08-18 02:40:11

标签: file http streaming mule mule-studio

我需要通过HTTP传递输入流。我正在使用mule中的File连接器读取文件,并将输入流传递给HTTP连接器。文件大小将从250 mb到~10 gb不等。我正在尝试700 MB的文件和HTTP连接器内存不足。我认为连接器正在将所有内容加载到内存中。为什么不将它作为流传递。让我知道最好的方法是什么。

2 个答案:

答案 0 :(得分:0)

我认为更多是建筑师级别的设计决策而没有性能影响。如果它将是一个巨大的文件传输,在GB级别更喜欢文件到文件传输协议。 在您的情况下,您已经从FTP读取文件,处理它并再次上传到FTP或AmazonS3或SFTP。确保在上载时压缩文件。

1.使用Java组件编写自定义代码进行HTTP调用,并使用Multipart上传概念。 (要么) 2.拆分文件并在HTTP连接器Mule中逐部分。 (或)

3.在Mule中使用批处理组件(超快) - 通常批处理会在几秒钟内处理大量数据,在这里您可以逐个拆分并推送到HTTP(使用批处理大小(方便)。

在选择第一个选项之前,请尝试使用批处理组件参考:https://docs.mulesoft.com/mule-user-guide/v/3.6/batch-processing。它会帮助你.Batch是专门为处理大型Payload而设计的。注意:确保您需要一次性推送或拆分并转到。

答案 1 :(得分:0)

请分享您的配置xml。 确保已在文件连接器中启用了流式传输。 如果未启用,则将整个文件内容加载到vm中,从而杀死VM

干杯!