Web服务器的负载均衡

一、七层负载均衡的实现

基于url等应用层信息的负载均衡
nginx的proxy是一个很强大的功能,实现了七层负载均衡。
功能强大,性能卓越,运行稳定
配合简单灵活
能够自动剔除工作不正常的后端服务器
上传文件使用异步模式
支持多种分配策略,可以分配权重,分配方式灵活

nginx的负载均衡
内置策略、扩展策略

  • 内置策略:IP Hash、加权策略
  • 扩展策略:fair策略、通用hash、一致性hash
1、加权轮询策略

首先将请求都分给高权重的机器,知道该机器的权重值降到了比其他机器低,才开始讲请求分给下一个高权重的机器

当所有后端机器都down掉时,Nginx会立即将所有机器的标志位都清成初始状态,已避免造成所有机器都处于timeout的状态

2、IP Hash策略

变相的轮询算法

3、fair策略

根据后端服务器的响应时间判断负载情况,从中选择出负载最轻的机器进行分流

4、通用Hash和一致性Hash

通用hash比较简单,可以以nginx内置的变量key进行hash,一致性hash采用nginx内置的一致性hash环,支持memcache

http{
    Upstream cluster{
        ip_hash;
        server 127.0.0.1:8080 weight=10;
server 127.0.0.1:8081 weight=9;
        server 127.0.0.1:8082 weight=9;
    }
    server {
        Listen:8080
        location / {
            proxy_pass http://cluster;
        }
    }
     server {
        Listen:8081
        location / {
            Proxy_pass http://cluster;
        }
    }
    server {
        Listen:8082
        location / {
            Proxy_pass http://cluster;
        }
    }
}

四、四层负载均衡的实现

通过报文中的目标地址和端口,在加上负载均衡设备设置的服务器选择方式和,决定最终选的内部服务器

LVS实现服务器集群负载均衡的三种方式,NAT,DR和TUN

你可能感兴趣的:(Web服务器的负载均衡)