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日
  • 相关阅读:
    Oracle JDBC:驱动版本区别与区分 [转]
    项目管理: Alpha,Beta,RC,GA,Release
    J2EE: JCA (Java Connector Architecture) [转]
    HTML:Event [转]
    JavaScript:inherits
    HTML5 Canvas
    Selenium1 Selenium2 WebDriver
    HTML5 Canvas:初始Canvas
    License友好的前端组件合集
    JavaSe:Comparator
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575251.html
Copyright © 2011-2022 走看看