如果我在负载均衡器前面放置一个反向代理,那么处理请求是否需要三倍的带宽?
例如请求 100mb 视频http://site.com/
site.com 从代理<-负载均衡器<-服务器获取请求
- 服务器将数据返回到负载均衡器(发送 100 mb)
- 负载均衡器传递给代理(又发送了 100 MB)
- 代理到客户端(最后发送 100mb)
就是这样吗?
答案1
您的问题有点模糊,但我会尽力解释。
根据具体实现,负载均衡器通常只是将请求转发到服务器。有时它们充当代理,但这并不是它们通常的用途。可以将普通负载均衡器视为将请求分配到多个服务器之间的交通警察。
是的,代理确实会增加针对单个唯一请求通过网络发送的数据包总数。通常,代理被放置在可以整合请求的地方,这样 100 个请求特定文件的人就不必全部从原始服务器下载该文件。这样做的真正好处是让代理在一定时间内保留动态页面的副本。维基百科对此有一个非常好的实现,部分描述如下在维基百科的 Meta 网站上
因此,在您的示例中,100Mb 的文件将产生约 200Mb 的总网络流量加上开销。另一方面,100 个用户将只产生 10100Mb(100Mb * 101)的流量,并且只有 100Mb 会到达原始服务器。