使用nodejs反向代理是否有助于带宽

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

我想知道使用nodejs反向代理是否在带宽方面有任何影响,例如你有两台服务器server 1 --> mainWebsite.comserver 2 --> videosWebsite.com谁负责提供视频。所以当我这样做时:

app.all("/videos/:id/",  function(req, res) {
    apiProxy.web(req, res, {target: 'videosWebsite.com'});
});

mainWebsite.com是否从videosWebsite.com下载视频然后将其发送到客户端(意味着两台服务器中带宽的完善)或者完美只是在videosWebsite.com上(当我说带宽时我的意思是服务视频所需的带宽)。我的问题很简单,但我不知道如何解释它,也许下面的例子会说清楚。每个视频都是1 Gb,当我们通过反向代理请求100次时,这使videosWebsite.com上传100 Gb的带宽到客户端,我的问题是:制作反向代理的服务器或包含它的服务器怎么样,他下载了吗?从videosWebsite.com那100Gb比发送到客户端(上传100Gb到客户端)或不?

node.js reverse-proxy
1个回答
2
投票

mainWebsite.com是否从videosWebsite.com下载视频,然后将其发送给客户端

是的,当您按照显示的方式实现代理时,最终会使用双倍的带宽。当客户端请求视频将视频从目标服务器下载到您的服务器,然后从您的服务器发送到客户端。

每个视频都是1 Gb,当我们通过反向代理请求100次时,这会让videosWebsite.com向客户端上传100 Gb的带宽,我的问题是:制作反向代理的服务器或包含它的服务器是什么,他从videosWebsite.com下载100Gb,而不是将其发送到客户端(上传100Gb到客户端)?

从服务器的角度来看,您将使用100GB的下载带宽(从目标服务器检索视频到您的服务器)和100GB的上载带宽(从服务器发送到客户端)。


避免这种带宽加倍的唯一方法是让客户端直接从目标下载视频,而不是通过代理。如果这些资源是静态的并且不会更改,您还可以在自己的服务器上实现缓存,并避免缓存中任何资源的双倍带宽。

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