Web服务器的负载均衡
七层负载均衡的实现 :基于URL等应用层信息的负载均衡
Nginx负载均衡
Nginx的proxy是它一个很强大的功能,实现了7层负载均衡
功能强大,性能卓越,运行稳定;
配置简单灵活
能够自动剔除工作不正常的后端服务器
上传文件使用异步模式
支持多种分配模式,可以分配权重,分配方式灵活
内置策略,扩展策略
内置策略:IP Hash,加权轮询
扩展策略:fair策略,通用hash,一致性hash
- 加权轮询策略
首先将请求部分给高权重的机器,直到该机器的权值降到了比其他机器低2,才开始将请求分给下一个高权重的机器;
当所有后端机器都down掉时,Nginx会立即将所有机器的标签位清成初始状态,以避免造成所有机器都处在timeout的状态
-
IP Hash策略
Nginx内置的另一个负载均衡的策略,流程和轮询很类似,只是其中的算法和具体的策略有所变化;
IP hash是一种变相的轮询; -
fair策略
根据后端服务器的响应时间判断负载,从中选出负载最轻的机器进行交流; -
通用Hash,一致性Hash策略
通用hash比较简单,可以以Nginx内置的变量为key进行hash,一致性hash采用Nginx内置的一致性hash环,支持memcache
四层负载均衡的实现 : 通过报文的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器;
LVS实现服务器集群负载均衡的三种方式,NAT,DR和TUN;