首页 > 解决方案 > 在微服务之间传输文件

问题描述

我有一系列微服务(Spring boot/cloud)在此处输入图像描述

UI 允许用户从文件存储中下载文件,但响应返回会抛出所有微服务。我不想在每个微服务上下载文件并在响应时将其上传到下一个。(我不想存储在内存中,这会导致 OutOfmemory 错误)是否可以返回一些流?

谢谢

标签: springrestspring-bootmicroservices

解决方案


我只会传回文件引用(如 url),并且仅在您需要时才检索实际文件。

因此,如果客户端 UI 需要来自微服务 1 的实际文件,我会将引用传递回微服务 1,并让该服务获取文件内容并将其发送给客户端。

如果客户端可以自行解析 URL/引用,您甚至可以将其返回给客户端,然后让客户端检索文件。

无论哪种方式,您都希望最小化文件的移动/加载,并且基本上在最后可能的时刻执行此操作。


推荐阅读