8

反向代理vs负载均衡器

 3 years ago
source link: https://www.nndev.cn/archives/2300
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

跳至内容

技术人成长 – 聊技术,话成长

C/C++ C# Java Python PHP JavaScript 云计算 大数据 物联网 人工智能 区块链

reverse-proxy.jpg

反向代理和负载均衡器都是位于客户端和服务端之间,功能也比较相似,这也导致了很多人经常傻傻分不清它们各自的使用场景。顺便提一下,既然有反向代理,那么也就有正向代理,正向代理就是放置在客户端的代理,而反向代理是放在服务器端的代理。

我们通过一张图来看看它们之间的异同:

lb-vs-proxy.png

反向代理和负载均衡器都位于后端,因此有时候会造成困扰,到底是用反向代理还是负载均衡器,而且一般的Web中间件如Nginx,也具备了负载均衡的能力。

使用负载均衡器往往是在后端具有内容相同的服务器的时候,负载均衡器的目标就是让请求相对均匀地分发到各个服务器上,并且自动检测到出现故障的服务器,从而阻止流量转发到该服务器,保证客户端功能的正常使用。

而即使后端只有一台服务器的时候也可以使用反向代理,它的作用不再像负载均衡器那样是为了流量均分,而是作为后端服务的一个“脸面”对外提供服务,隐藏了后端服务的一些敏感信息,从而提高安全性。一些反向代理中间件可以限制某个客户端访问服务器的频率等,帮助防护DDOS攻击。反向代理的另外一个用途是进行Web加速,比如先进行gzip压缩再返回给前端,或者对后端返回的内容进行缓存,达到提高性能从而改善用户体验的目标。

以上就是反向代理和负载均衡器相似的地方和主要的区别所在,更多细节上的区别,你可以在使用中慢慢体会。欢迎扫码关注微信视频号,让我们一起成长!

%E8%A7%86%E9%A2%91%E5%8F%B7%E4%BA%8C%E7%BB%B4%E7%A0%81-4.jpg

张贴在架构


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK