我不清楚负载均衡器和反向代理之间的区别。它们似乎都具有相同的行为:将传入的请求分发到后端服务器。

评论

Nginx的很好解释:nginx.com/resources/glossary/reverse-proxy-vs-load-balancer

#1 楼

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


负载平衡:如上所述,
缓存:它可以缓存其背后的Web服务器中的内容从而减少了Web服务器上的负载,并向请求者返回了一些静态内容,而不必从Web服务器上获取数据。
安全性:它可以通过以下方式保护Web服务器:防止直接从互联网访问;它可能只是通过混淆Web服务器来通过简单的方法完成此操作,或者它可能具有一些更活跃的组件来实际查看入站请求以查找恶意代码。它可以作为这些SSL会话的终止点,以便从Web服务器上分担处理加密的工作量。

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

评论


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

– Kubanczyk
16年11月2日,9:09

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

– dimuthu
19年6月26日在11:37

已经有十年了,现在我在评论这篇文章:)。因为服务器位于负载均衡器之后,所以负载均衡器也应该申请3分,这是到达应用程序服务器的单入口吗?

–拉胡尔·夏尔马
20-11-21在22:16

#2 楼

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

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

#3 楼

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

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

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

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

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

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

#4 楼

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