负载均衡器和反向代理有什么区别?


Answers:


113

您的困惑是合理的-它们通常是同一回事。但不总是。当您指代负载均衡器时,您指的是一个非常具体的东西-一种服务器或设备,用于平衡两个或多个Web服务器上的入站请求以分散负载。但是,反向代理通常具有许多功能:

  1. 负载平衡:如上所述

  2. 缓存:它可以缓存来自其后的Web服务器的内容,从而减少Web服务器上的负载,并将一些静态内容返回给请求者,而不必从Web服务器获取数据

  3. 安全性:它可以通过阻止直接从Internet访问来保护Web服务器;它可能只是通过混淆Web服务器来通过简单的方法来做到这一点,或者它可能具有一些更活跃的组件来实际查看入站请求以查找恶意代码

  4. SSL加速:使用SSL时;它可以用作这些SSL会话的终止点,以便从Web服务器上减轻处理加密的工作量

我认为这涵盖了大部分内容,但我可能还缺少其他一些功能。当然,将设备或软件作为负载均衡器/反向代理进行销售并不罕见,因为这些功能通常捆绑在一起。


2
+连接池(当后端处理不好时,允许在一个前端连接上有多个请求;或者将后端连接重用于多个前端连接)
kubanczyk

+ compression在将服务器响应返回给客户端之前进行压缩(例如,使用gzip)会减少它们所需的带宽量,从而加快它们在网络上的传输
dimuthu

25

此外,反向代理特定于Web服务器。

但是,负载均衡器可以处理许多其他协议。尽管当今网络(HTTP)是一个大创意,但DNS,邮件(SMTP,IMAP)等内容也可以实现负载平衡。如今,大多数人认为“ Internet”或“ IP网络”就是他们想到的Web。还有更多的东西可能更晦涩,或更像个利基市场。


12

虽然各种负载均衡器和反向代理之间的最终结果(在服务器之间分配请求)的最终结果相同,但是区别在于分配请求的方法不同。

某些负载平衡器使用DNS平衡流量,从而在轮循中将相同的名称解析为不同的IP,从而有效地重定向请求。当在数据中心或其他物理位置之间平衡请求负载时,这通常很有用。如果您需要“即时”故障转移,这是一个糟糕的选择,因为您受客户端DNS服务器的支配,无法兑现您提供的TTL。思科的GSS(全球站点选择器)是基于DNS的负载平衡的一个很好的例子。

其他负载平衡器通过将发往虚拟IP的数据包头重写为服务器场中服务器的真实IP来工作。这提供了实时负载平衡和近乎即时的故障转移。一个示例就是思科的CSM(内容交换模块)

请注意,在以上两个示例中,客户端和服务器之间都有TCP会话。

反向代理的工作原理是代表Web服务器接受请求,然后将该请求回显到Web服务器,然后将其返回给客户端,如果随后出现类似的请求,可以选择缓存结果。

请注意,客户端从不实际建立与Web服务器的连接。确切地说,对话是在代理和客户端之间进行的。


4

负载平衡器可以平衡从第3层到第7层的流量,但是反向代理是HTTP特定的。


3

反向代理接受来自客户机的请求,将其转发到能够满足它的服务器,并返回服务器对客户端的响应(这意味着后面的反向代理服务器能够与一个协议的稍微不同的特征或不同的协议进行通信)。

负载平衡器 的一组服务器的之间分发传入客户端请求,在每种情况下返回从所选择的服务器到适当的客户端的响应。


1
因此,您是说负载均衡器对分发的“反向代理”必不可少?
安东尼·孔

4
这是nginx.com/resources/glossary/reverse-proxy-vs-load-balancer的直接复制,要么他们偷了您的答案,要么您应该参考您的消息来源
icc97
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.