nginx负载均衡三种策略

1.轮询:nginx配置

server
{

    listen 8080;
    server_name localhost;
    location / {
        #....
        proxy_pass http://bal;
    }
    ##### other directive
}
upstream bal {
        #轮询
        server  127.0.0.1:8081;
        server  127.0.0.1:8082;
        server  127.0.0.1:8083;
    }

2.权重:nginx配置

 server
{

    listen 8080;
    server_name localhost;
    location / {
        #....
        proxy_pass http://bal;
    }
    ##### other directive
}
upstream bal {#单机时只需改变端口,若多台服务器,则将改变ip
        server 127.0.0.1:8081 weight=5;
        server 127.0.0.1:8082 weight=2;
        server 127.0.0.1:8083 weight=3;
    }

weight代表其所占百分比及权重,百分比越大获得请求越多

3.

IP_HASH负载均衡策略实现方式非常简单,在策略中加入ip_hash语句即可,一旦添加ip_hash语句,其他策略将不起作用(即使添加了weight属性也会按照IP_HASH策略分发请求)。
Nginx服务器将用户的IP进行hash运算获得映射值,将特定的IP与特定的服务器绑定,以后该IP的所有请求都会发往该服务器。

    upstream bal {
        ip_hash;
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
        server 127.0.0.1:8083;
    }
  •  

在分布式系统环境下,可以利用Session黏着的现象实现Session共享。但这是一种低级的实现方式,因为不可能所有用户的IP分布与真实的服务器性能分布情况正好吻合,并且在IP可变的情况下因Session黏着现象会导致安全问题。所以这种负载策略一般不会使用,而通过单点登录的方式实现Session共享。

备用机机制

在某台服务器后添加backup属性即可将该服务器设置为备用机。Nginx一般情况下不会将请求发送给备用机,只有所有的非备用机全部宕机或全部忙碌,没有非备用机能够响应新的请求时,才会将请求发送给备用机,使其承担一部分压力。如果非备用机重启或压力减小,可以正常处理用户请求时,则备用机再次处于等待状态。

    upstream bal {
        server 127.0.0.1:8081 weight=6;
        server 127.0.0.1:8082 weight=1 backup;
        server 127.0.0.1:8083 weight=3;
    }
  •  

转载:

https://blog.csdn.net/Elio_LiuHeng/article/details/79372841

猜你喜欢

转载自blog.csdn.net/xfy18317776108/article/details/82997962
今日推荐