如何通过一个代理来平衡负载?



在阅读了代理,反向代理和负载平衡之后,我留下了一个问题:如果所有流量仍然必须通过一个点-代理,如何可能平衡负载(通过代理)?

我所理解的是代理可以将请求分发到不同服务器的概念。对于客户端来说,似乎所有的响应都来自代理。但是,如果所有的响应最终仍然必须通过代理,这有什么用呢?代理需要拥有它后面的所有服务器的总和的容量!我可能错过了什么…

我所指的其中一个讨论是:代理服务器和反向代理服务器的区别

负载平衡代理只执行非常简单的任务,比如掷虚拟骰子来选择它后面的一个服务器。这些任务的完成时间应该可以忽略不计,以便代理的吞吐量尽可能高。

另一方面,处理实际用户请求的服务器执行许多复杂的任务(连接和查询数据库、解析数据、准备响应),这些任务需要更长的时间,因此它们的负载更高,吞吐量明显更低。

当然,负载平衡并没有那么简单,你不能只是随机选择数字,因为你需要处理后端服务器的停机时间,例如,关键是负载平衡器上的任务应该比后面服务器上的任务花费的时间短得多。: -)

最新更新