将图片上传请求转发至其他服务器

我正在尝试构build一个基于所谓的“微架构”的NodeJS REST API项目(基本上是可以完全独立运行的多个较小的NodeJS项目,但是同时工作)。

目前用户可以从应用程序上传图片,然后我的NodeJS后端进行适当的处​​理和保存。

现在,我想要做的是以下几点:

用户从应用程序中select要上传的图像 – >应用程序向“主API”端点发出请求 – >主API端点然后将此请求转发到“图像服务” – >一旦图像服务(这是一个完全不同的服务器)已成功完成,它应该返回存储图像的URL到主API服务器端点,然后返回到应用程序的信息。

我的问题是,如何将图像上传请求从一台服务器转发到另一台服务器? 理想情况下,我不希望主API临时存储图像,然后向图像服务发出请求。

我想要的是直接将Main API接收的数据转发到Image Service服务器。 我想你可以说我想将数据从一个地方“stream”到另一个地方,而不必临时存储在磁盘或内存上。 我简直就是想让它从一台服务器“隧道”到另一台服务器。

这是可能的,这是一个有效的方法吗? 我只想要1个中心点的应用程序访问,我不想它知道这个图像服务服务器。 我希望应用程序只向主API提出请求,然后根据需要调用我的其他小型服务。

我正在使用NodeJS,Express,Multer(用于图像上传)和Digital Ocean托pipe(如果这应该有所作为)。

你将基本上做的是build立一个代理服务器,将请求直接传递到另一台机器,并返回。 有几个图书馆可以帮助解决这个问题,这篇文章特别是http://blog.vanamco.com/proxy-requests-in-node-js/将解释如何设置它,即使它们是实际上只是试图绕过HTTPS,这里也适用相同的概念。

简而言之,您将file uploadPOST,然后立即将相同的请求发送到另一台服务器,并在响应返回时立即将其返回到前端。 您的入口点可以设置为集线器,并且可以通过其他服务器代理请求,或者如果需要,也可以在同一台服务器上处理它们。