轮询(默认)

优点:实现简单
缺点:不考虑每台服务器处理能力
upstream www.myself.com{
    server www.myself.com:8080;
    server www.myself.com:9080;
}

权重

优点:考虑了每台服务器处理能力的不同
upstream www.myself.com{
    server www.myself.com:8080 weight=15;
    server www.myself.com:9080 weight=10;
}
  • 注:采用轮询时,weight默认是1,如果多个配置权重的节点,比较相对值,即访问到8080端口的概率是9080的1.5倍

ip hash

优点:能实现同一个用户访问同一个服务器
缺点:根据ip hash 不一定平均
upstream www.myself.com{
    ip_hash;
    server www.myself.com:8080;
    server www.myself.com:9080;
}

url hash(第三方)

优点: 能实现同一个服务访问同一个服务器
缺点: 根据url hash分配请求会不平均,请求频繁的url会请求到同一个服务器上
upstream www.myself.com{
    server www.myself.com:8080;
    server www.myself.com:9080;
    hash $request_uri;
}

fair(第三方)

特点:按后端服务器的响应时间来分配请求,响应时间短的优先分配
upstream www.myself.com{
    server www.myself.com:8080;
    server www.myself.com:9080;
    fair;
}

如果本文对你有所帮助,欢迎关注公众号

图片描述


Java猫说
1.3k 声望930 粉丝

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。