我正在尝试基于所谓的“微架构”(基本上是多个可以完全独立运行但同时协同工作的较小 NodeJS 项目)构建一个 NodeJS REST API 项目。
目前,用户可以从应用程序上传图像,然后我的 NodeJS 后端会适当地处理和保存它们。
现在,我想做的是以下内容:
用户从应用程序中选择要上传的图像 -> 应用程序向“主 API”端点发出请求 -> 主 API 端点然后将此请求转发给“图像服务” -> 一旦图像服务(这是一个完全不同的服务器)已成功完成,它应该将存储图像的 URL 返回到主 API 服务器端点,然后将信息返回给应用程序。
我的问题是,如何将图像上传请求从一台服务器转发到另一台服务器?理想情况下,我不希望 Main API 临时存储图像,然后向图像服务发出请求。
我想要的是尝试将 Main API 接收到的数据直接转发到图像服务服务器。我想你可以说我想将数据从一个地方“流式传输”到另一个地方,而不必临时存储在磁盘或内存上。我实际上只是希望它从一台服务器“隧道”到另一台服务器。
这可能吗?这是一种有效的方法吗?我只想让应用程序访问 1 个中心点,我不想让它知道这个图像服务服务器。我希望该应用程序只向主 API 发出请求,然后它会根据需要调用我的其他小服务。
我正在使用 NodeJS、Express、Multer(用于图像上传)和 Digital Ocean 托管(如果这有什么不同的话)。