美文网首页
反向代理负载均衡

反向代理负载均衡

作者: Super淳语 | 来源:发表于2019-04-01 21:12 被阅读0次

什么是反向代理负载均衡?

反向代理服务器是一个位于实际服务器之前的服务器,所有向我们网站发来的请求都首先要经过反向代理服务器,服务器根据用户的请求要么直接将结果返回给用户,要么将请求交给后端服务器处理,再返回给用户。

之前我们介绍了用反向代理服务器实现静态页面和常用的动态页面的缓存。接下来我们介绍反向代理服务器更常用的功能——实现负载均衡。

我们知道,所有发送给我们网站的请求都首先经过反向代理服务器。那么,反向代理服务器就可以充当服务器集群的调度者,它可以根据当前后端服务器的负载情况,将请求转发给一台合适的服务器,并将处理结果返回给用户。

优点
隐藏后端服务器。 与HTTP重定向相比,反向代理能够隐藏后端服务器,所有浏览器都不会与后端服务器直接交互,从而能够确保调度者的控制权,提升集群的整体性能。

故障转移
与DNS负载均衡相比,反向代理能够更快速地移除故障结点。当监控程序发现某一后端服务器出现故障时,能够及时通知反向代理服务器,并立即将其删除。
合理分配任务
HTTP重定向和DNS负载均衡都无法实现真正意义上的负载均衡,也就是调度服务器无法根据后端服务器的实际负载情况分配任务。但反向代理服务器支持手动设定每台后端服务器的权重。我们可以根据服务器的配置设置不同的权重,权重的不同会导致被调度者选中的概率的不同。
缺点
调度者压力过大
由于所有的请求都先由反向代理服务器处理,那么当请求量超过调度服务器的最大负载时,调度服务器的吞吐率降低会直接降低集群的整体性能。
制约扩展
当后端服务器也无法满足巨大的吞吐量时,就需要增加后端服务器的数量,可没办法无限量地增加,因为会受到调度服务器的最大吞吐量的制约。
粘滞会话
反向代理服务器会引起一个问题。若某台后端服务器处理了用户的请求,并保存了该用户的session或存储了缓存,那么当该用户再次发送请求时,无法保证该请求仍然由保存了其Session或缓存的服务器处理,若由其他服务器处理,先前的Session或缓存就找不到了。

解决办法1: 可以修改反向代理服务器的任务分配策略,以用户IP作为标识较为合适。相同的用户IP会交由同一台后端服务器处理,从而就避免了粘滞会话的问题。

解决办法2: 可以在Cookie中标注请求的服务器ID,当再次提交请求时,调度者将该请求分配给Cookie中标注的服务器处理即可。

相关文章

  • 4.常用配置

    反向代理 负载均衡 FastCGI 负载均衡详细配置

  • 负载均衡之lvs

    1.负载均衡 VS 反向代理区别 1.1 功能(原理) 负载均衡 lvs 请求做转发 反向代理 Nginx Hap...

  • 3.Nginx的反向代理

    nginx反向代理 反向代理就是负载均衡负载均衡分为四层负载和七层负载四层负载:基于IP+端口的负载七层负载:基于...

  • Linux运维-day56/57-负载均衡之lvs

    一、负载均衡与反向代理的区别 1.1 功能(原理) 负载均衡lvs---请求做转发 反向代理Nginx Hapro...

  • 负载均衡与lvs

    一、负载均衡与反向代理的区别 1.1 功能(原理) 负载均衡lvs---请求做转发 反向代理Nginx Hapro...

  • 【转】浅谈Nginx之反向代理与负载均衡

    Nginx的负载均衡是基于反向代理实现的,因此,本文先讨论什么是反向代理,再在这个的基础上讨论负载均衡以及负载均衡...

  • Nginx源码学习——负载均衡

    什么是负载均衡器? 了解负载均衡器前,需要知道什么是“反向代理”?反向代理(reverse proxy) 是指用代...

  • nginx

    nginx的配置、虚拟主机、负载均衡和反向代理一nginx的配置、虚拟主机、负载均衡和反向代理二nginx的配置、...

  • Nginx反向代理-负载均衡配置

    一、IP地址反向代理-负载均衡配置 注:为了安全性,部分IP用*号做了代替 二、域名反向代理-负载均衡配置 最后给...

  • 2020-03-31 Nginx反向代理与动静分离集群架构应用实

    1. Nginx负载均衡配置实战 1.1 Nginx负载均衡反向代理相关实践 1.1.1 实现为WWW服务代理 (...

网友评论

      本文标题:反向代理负载均衡

      本文链接:https://www.haomeiwen.com/subject/lhgbbqtx.html