【问题标题】:What is the difference between Reverse proxy and Load balancer?反向代理和负载均衡器有什么区别?
【发布时间】:2020-05-04 00:41:39
【问题描述】:

我试图了解反向代理和负载平衡之间的不同之处。当使用反向代理而不是负载平衡有用时。

【问题讨论】:

  • 反向代理是放在应用服务器前面的http服务器。它可能会也可能不会做负载平衡。
  • 好吧,你的意思是说反向代理也可以做其他事情。似乎负载平衡是反向代理的子集。 @MauricePerry
  • 我宁愿说反向代理可以促进负载平衡。

标签: load-balancing reverse-proxy system-design


【解决方案1】:

两者都承诺提高效率并位于客户端和服务器之间。当我们试图理解它们时,它们看起来几乎相同,但它们的功能仍然不同。

负载平衡:是硬件或软件单元,通过将网站上的总负载分配到多个服务器来分配。 负载均衡所使用的算法应该选择这样的算法,它可以最大程度地利用每个服务器的容量,并且可以尽可能快地提供结果。

负载均衡器分为三类:DNS 轮询、L3/L4 负载均衡器 [适用于 IP 和 TCP 层] 和 L7 负载均衡器 [适用于应用层]。

负载均衡器用于分配负载的不同算法有 IP Hash、Least connection、Round robin、Least traffic 等。

反向代理:它们充当网站的面孔,或者我们可以说它们充当网络流量必须通过的网关。反向代理的主要作用是:

  1. 安全性:它们充当后端服务器的墙。保护后端免受直接交互影响,从而提高整个系统的安全性。
  2. Web 加速:它还提供缓存、SSL 加密和压缩等功能,以减少向客户端提供响应的时间。
  3. 灵活性:后端架构的变化变得更加灵活,因为客户端只能访问反向代理。

即使您的系统中只有一台服务器,反向代理也可能是相关的。在这种情况下,不需要负载平衡器,但反向代理仍可用于提供安全性、灵活性和 Web 加速。

【讨论】:

  • 何时使用负载均衡器,何时使用反向代理?
  • 上面的解释与 nginx 文档非常相似。我也对何时使用负载均衡器以及何时使用反向代理感兴趣。或者它们必须结合或不结合。也许这个链接能给你更多的启发..serverfault.com/questions/127021/…..看起来反向代理应该带有LB功能..
【解决方案2】:

据此link

反向代理接受来自客户端的请求,将其转发到可以满足它的服务器,并将服务器的响应返回给客户端。换句话说,反向代理充当 HTTP 流量和应用程序编程接口。

负载平衡器在一组服务器之间分配传入的客户端请求,在每种情况下将来自所选服务器的响应返回给适当的客户端。负载均衡器可以处理多种协议——HTTP 以及域名系统协议、简单消息传输协议和 Internet 消息访问协议。负载均衡器接收客户端对应用程序、文本、图像或视频数据的请求,并将其路由到池中能够满足这些请求的任何服务器,然后将服务器的响应返回给客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 2022-01-03
    • 1970-01-01
    相关资源
    最近更新 更多