高并发大流量专题---11、Web服务器的负载均衡
一、总结
一句话总结:
推荐使用nginx七层(应用层)负载均衡的实现:配置那是相当的简单
http{ upstream cluster{ server srv1; server srv2; server srv3; } server{ listen 80; location /{ proxy_pass http://cluster;#调用上面的upstream cluster中的内容 } } }
1、七层(应用层)负载均衡介绍及如何实现?
七层表示的是应用层:七层(应用层)负载均衡是 基于URL等应用层信息的负载均衡
Nginx的proxy:Nginx的proxy是它一个很强大的功能,实现了7层负载均衡
2、七层(应用层)负载均衡的 优点?
配置简单灵活;功能强大,性能卓越,运行稳定
能够自动剔除工作不正常的后端服务器
上传文件使用异步模式
支持多种分配策略,可以分配权重,分配方式灵活
3、Nginx负载均衡 策略?
内置策略:IP Hash、加权轮询:安装nginx的时候已经打到内核中
扩展策略:fair策略、通用hash、一致性hash:需要我们自己安装扩展
4、Nginx负载均衡内置策略中的 加权轮询策略 是怎样的?
给高权重的机器:首先将请求都分给高权重的机器,直到该机器的权值降到了比其他机器低,才开始将请求分给下一个高权重的机器
清理down掉的机器:当所有后端机器都down掉时,Nginx会立即将所有机器的标志位清成初始状态,以避免造成所有的机器都处在timeout的状态
5、Nginx负载均衡内置策略中的 IP Hash策略 是怎样的?
和轮询策略很像:Nginx内置的另一个负载均衡的策略,流程和轮询很类似,只是其中的算法和具体的策略有些变化
变相的轮询算法:IP Hash算法是一种变相的轮询算法
6、Nginx负载均衡扩展策略中的 fair策略 是怎样的?
根据【后端服务器的响应时间】判断负载情况,从中选出负载最轻的机器进行分流
7、Nginx负载均衡扩展策略中的 通用Hash、一致性Hash策略 是怎样的?
通用hash比较简单,可以【以Nginx内置的变量为key进行hash】
一致性hash采用了【Nginx内置的一致性hash环】,支持memcache
8、七层负载均衡的实现Nginx配置 启示?
|||-begin
http{ upstream cluster{ server srv1; server srv2; server srv3; } server{ listen 80; location /{ proxy_pass http://cluster;#调用上面的upstream cluster中的内容 } } }
|||-end