如果我们有负载均衡器来定向请求,为什么我们需要Web服务器?

时间:2019-12-01 14:18:51

标签: apache webserver load-balancing distributed-computing distributed-system

假设我们有两个服务器通过负载均衡器为请求提供服务。我们的两台服务器上都必须有Web服务器来处理请求。负载均衡器本身可以充当Web服务器。假设我们使用的是Apache Web服务器和HAProxy。这是否意味着Web服务器(Apache)应该同时安装在服务器和任何服务器中的负载均衡器中。为什么我们两台服务器计算机上都没有负载平衡器,它们将接收请求并互相交谈以处理请求。

2 个答案:

答案 0 :(得分:0)

负载均衡器位于Web服务器的前面,用于根据会话数,源IP和目标IP的哈希,请求的URL或其他条件重定向请求。此外,即使一台服务器发生故障,它也会检查后端服务器的可用性,以确保请求得到答复。

并不是每个网络服务器上都安装了它-您只需要一个实例。它可能是硬件设备,也可能是可能安装或可能未安装在其中一个Web服务器上的软件(例如HAproxy)。尽管这样做并非明智之举,但由于此Web服务器可能会发生故障,因此代理无法将流量重定向到其余服务器。

有几种不同的方案。一种是负载均衡请求到两个提供相同HTML内容的Web服务器,以提供冗余。

另一种方法是仅使用一个公共地址来提供多个网站,即根据所请求的URL应用目标NAT。为此,软件必须确定HTML请求中的URL,并将流量重定向到为该站点提供服务的后端Web服务器。有时称为“反向代理”,因为它从外部隐藏了内部服务器地址。

答案 1 :(得分:0)

从根本上说,您希望让 Web 服务器满足对静态内容的请求,而应用服务器处理业务逻辑,即处理对动态内容的请求。

但是 Web 服务器还可以做许多其他事情,例如验证和验证请求、记录指标。此外,Webserver 的重要部分是将它从应用服务器获取的内容与一个视图放在一起供客户端表示。

如果您有不止一台服务器,您希望 LB 位于 Web 服务器和应用服务器的前面。此外,没有什么可以阻止您将 Web 服务器和应用服务器合二为一。