nginx使用upstream实现负载均衡


轮询(默认)

upstream servername { 
    server 10.0.0.1:8080; 
    server 10.0.0.2:8080; 
}

权重

weight 默认为1,weight越大,负载的权重就越大

upstream servername { 
    server 10.0.0.1:8080 weight=5; 
    server 10.0.0.2:8080 weight=10; 
}

IP哈希

请求按访问ip的hash结果分配

upstream servername { 
    ip_hash; 
    server 10.0.0.1:8080; 
    server 10.0.0.2:8080; 
}

响应时间

按后端服务器的响应时间来分配请求,响应时间短的优先分配

upstream servername { 
    fair;
    server 10.0.0.1:8080; 
    server 10.0.0.2:8080; 
}

其它哈希

如:根据请求路径哈希,hash_method是使用的hash算法

upstream servername { 
    fair;
    server 10.0.0.1:8080; 
    server 10.0.0.2:8080;
    hash $request_uri; 
    hash_method crc32; 
}

down/backup

upstream servername { 
    // down 表示单前的server暂时不参与负载.
    server 10.0.0.1:8080 down; 
    server 10.0.0.2:8080; 
    server 10.0.0.3:8080; 
    // 其它所有的非backup机器down或者忙的时候请求backup机器.
    server 10.0.0.4:8080 backup; 
}

参考链接


文章作者: wuzhiyong
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wuzhiyong !
评论
 上一篇
java容器中时区问题 java容器中时区问题
问题容器时间与主机差8个小时,如果里面运行的是java程序,那么程序时间还是有8个小时时差. 解决 容器内时间与宿主机时间不一样```sh#启动容器时增加 v /etc/localtime:/etc/localtime java时区主要
2020-12-31
下一篇 
linux设置swap linux设置swap
查看swap状态[root@ecs ~]# free -m total used free shared buff/cache available Mem:
2020-12-04
  目录