首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Nginx的反向代理(2)

Nginx的反向代理(2)

nginx 后端服务器在负载均衡调度中的状态:

    down #当前的server暂时不参与负载均衡
    backup #预留的备份服务器
    max_fails #允许请求失败的次数
    fail_timeout #经过max_fails 失败后,服务暂停的时间
    max_conns #限制最大的接收的连接数

我们修改之前的实验:

    upstream test {
    server 172.20.0.1:8080  down;
    server 172.20.0.3:8080  backup;
    server 172.20.0.4:8080  max_fails=1 fail_timeout=10s;
    }

nginx调度算法:

默认轮询是按照顺序轮询的,nginx有其他几种轮询规则:

    轮询:按时间顺序逐一分配到不同的后端服务器
    加权轮询:weight值越大,分配到的访问几率越高
    ip_hash: 每个请求按照访问IP的hash结果分配,这样来自同一个IP的固定访问一个后端服务器
    url_hash:按照访问的URL的hash结果来分配请求,比如服务器1有一部分资源,2有另一个资源,那么就需要url_hash
    least_conn :最少连接数,哪个机器连接数少,就分发哪个
    hash关键数值:hash自定义的key

ip hash 配置方式:

    upstream test {
    ip_hash  #这样是有漏洞的,因为ip_hash是根据访问IP的,前端如果还有代理层就比较难办了
    server 172.20.0.1:8080  ;
    server 172.20.0.3:8080  ;
    server 172.20.0.4:8080  ;
                    }

url hash 配置方式:

    upstream test {
    hash $request_uri  #这样是有漏洞的,因为ip_hash是根据访问IP的,前端如果还有代理层就比较难办了
    server 172.20.0.1:8080  ;
    server 172.20.0.3:8080  ;
    server 172.20.0.4:8080  ;
     }
返回列表