暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5.3 Nginx常用负载均衡策略

Whoooops 2021-04-15
277
  1. 轮询(默认策略)

轮询策略需要两台服务器的性能一样,不然就会出现一台服务器请求阻塞的情况。

注意:这里的轮询并不是每个请求轮流分配到不同的后端服务器,ip_hash类似,但是按照访问urlhash结果来分配请求,使得每个url定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景下如果后端服务器down掉,将自动剔除

         upstreambackserver {

server 127.0.0.1:8080;

             server 127.0.0.1:9090;

}


    2.权重

当两台服务器的性能不同的时候,使用权重策略。

         每个请求按一定比例分发到不同的后端服务器,weight值越大访问的比例越大,用于后端服务器性能不均的情况

         upstreambackserver {

             server 192.168.0.14 weight=5;

             server 192.168.0.15 weight=2;

}


3.最小连接数

那个服务器不忙,就把请求转发到那个服务器。

web请求会被转发到连接数最少的服务器上

         upstreambackserver {

             least_conn;

             server 127.0.0.1:8080;

             server 127.0.0.1:9090;

}

       

    4.ip hash

可以解决session回话丢失的问题


ip_hash也叫IP绑定,每个请求按访问iphash值分配,这样每个访问客户端会固定访问一个后端服务器,可以解决会话Session丢失的问题

         算法:hash("124.207.55.82")% 2 = 0, 1

         upstreambackserver {

             ip_hash;

             server 127.0.0.1:8080;

             server 127.0.0.1:9090;

}

如果用户的ip变了,跟着相应的hash值也需要变,但是hash值有可能不会变。当hash没有改变时,服务器可能会出现过载而down掉。


5.其他配置

    5.1备份服务器

配置1

upstreambackserver {

             server 127.0.0.1:9100;

                   #其它所有的非backup机器down的时候,才请求backup机器

             server 127.0.0.1:9200 backup;

        5.2 宕机,不处理任何请求

配置2

         upstreambackserver {

server 127.0.0.1:9100;

#down表示当前的serverdown状态,不参与负载均衡

    server 127.0.0.1:9200 down;


文章转载自Whoooops,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论