zoukankan      html  css  js  c++  java
  • Nginx负载均衡详解

     upstream mysvr { 
          server 192.168.10.121:3333;
          server 192.168.10.122:3333;
        }
     server {
            ....
            location  ~*^.+$ {         
               proxy_pass  http://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的负载均衡配置特别简单与强大,那么还没完,咱们继续:

    关于nginx负载均衡配置的几个状态参数讲解。

    • down,表示当前的server暂时不参与负载均衡。

    • backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。

    • max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。

    • fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。

     upstream mysvr { 
          server 127.0.0.1:7878 weight=2 max_fails=2 fail_timeout=2;
          server 192.168.10.121:3333 weight=1 max_fails=2 fail_timeout=1;    
        }
  • 相关阅读:
    1、接口测试全流程
    7、执行 suite 后,result.html 测试报告中,测试结果全部显示为通过原因分析
    6、Python 中 利用 openpyxl 读 写 excel 操作
    5、Python 基础类型 -- Dictionary 字典类型
    4、Python 基础类型 -- Tuple 元祖类型
    cp: omitting directory”错误的解释和解决办法
    c++ 之bind使用
    Linux查找–find命令
    lsof命令总结
    Linux查看端口、进程情况及kill进程
  • 原文地址:https://www.cnblogs.com/xuey/p/7439695.html
Copyright © 2011-2022 走看看