黑马程序员技术交流社区

标题: 【广州校区】 +Nginx负载均衡 [打印本页]

作者: 忽忽糊糊虎虎    时间: 2019-12-18 14:20
标题: 【广州校区】 +Nginx负载均衡
说下upstream这个配置的,这个配置是写一组被代理的服务器地址,然后配置负载均衡的算法。这里的被代理服务器地址有2中写法。

写法一:
upstream mysvr {
      server 192.168.10.121:3333;
      server 192.168.10.122:3333;
    }
server {
        ....
        location  ~*^.+$ {         
           proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表         
        }

写法二:
upstream mysvr {
      server  http://192.168.10.121:3333;
      server  http://192.168.10.122:3333;
    }
server {
        ....
        location  ~*^.+$ {         
           proxy_pass  mysvr;  #请求转向mysvr 定义的服务器列表         
        }



1、        热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB.....
upstream mysvr {
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #热备     
    }


2、        轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB....
upstream mysvr {
      server 127.0.0.1:7878;
      server 192.168.10.121:3333;      
    }


3、        加权轮询:跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB....
upstream mysvr {
      server 127.0.0.1:7878 weight=1;
      server 192.168.10.121:3333 weight=2;
}



4、        ip_hash:nginx会让相同的客户端ip请求相同的服务器。

upstream mysvr {
      server 127.0.0.1:7878;
      server 192.168.10.121:3333;
      ip_hash;
    }



关于nginx负载均衡配置的几个状态参数讲解。
•        down,表示当前的server暂时不参与负载均衡。
•        backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
•        max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
•        fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2