zoukankan      html  css  js  c++  java
  • 关于nginx upstream的几种配置方式

    平时一直依赖硬件来作load blance,最近研究Nginx来做负载设备,记录下upstream的几种配置方式。

    第一种:轮询

    upstream test{
        server 192.168.0.1:3000;
        server 192.168.0.1:3001;
    }
    

    第二种:权重

    upstream test{
        server 192.168.0.1 weight=2;
        server 192.168.0.2 weight=3;
    }
    

    这种模式可解决服务器性能不等的情况下轮询比率的调配

    第三种:ip_hash

    upstream test{
        ip_hash;
        server 192.168.0.1;
        server 192.168.0.2;
    }
    

    这种模式会根据来源IP和后端配置来做hash分配,确保固定IP只访问一个后端

    第四种:fair

    需要安装Upstream Fair Balancer Module

    upstream test{
        server 192.168.0.1;
        server 192.168.0.2;
        fair;
    }
    

    这种模式会根据后端服务的响应时间来分配,响应时间短的后端优先分配

    第五种:自定义hash

    需要安装Upstream Hash Module

    upstream test{
        server 192.168.0.1;
        server 192.168.0.2;
        hash $request_uri;
    }
    

    这种模式可以根据给定的字符串进行Hash分配

    具体应用:

    server{
        listen 80;
        server_name .test.com;
        charset utf-8;
        
        location / {
            proxy_pass http://test/;
        } 
    }
    

    此外upstream每个后端的可设置参数为:

    • 1.down: 表示此台server暂时不参与负载
    • 2.weight: 默认为1,weight越大,负载的权重就越大
    • 3.max_fails: 允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
    • 4.fail_timeout: max_fails次失败后,暂停的时间
    • 5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器,应急措施

    更新历史

    why when
    创建 2012年4月23日
    更新 2019年12月11日
  • 相关阅读:
    MySQL "show users"
    MySQL
    A MySQL 'create table' syntax example
    MySQL backup
    MySQL show status
    Tomcat, pathinfo, and servlets
    Servlet forward example
    Servlet redirect example
    Java servlet example
    How to forward from one JSP to another JSP
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575251.html
Copyright © 2011-2022 走看看