Nginx中的upstream 分配方法
轮询
轮询是upstream的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端服务器,如果某个后端服务器down掉后,能自动剔除。
upstream www_cc_com {
server 192.168.1.1:8001;
server 192.168.1.2:8002;
server 192.168.1.3:8003;
}
weight
指定轮询比率,weight和访问几率成正比,主要应用于后端服务器性能差异的场景下。
upstream www_cc_com{
server 192.168.1.1 weight=1; #1/6的概率
server 192.168.1.2 weight=2; #1/3的概率
server 192.168.1.3 weight=3; #1/2的概率
}
ip_hash
每个请求按照访问ip(即Nginx的前置服务器或者客户端IP)的hash结果分配,这样每个访客会固定访问一个后端服务器,可以解决session一致问题。
upstream www_cc_com{
ip_hash;
server 192.168.1.1:8001;
server 192.168.1.2:8002;
server 192.168.1.3:8003;
}
fair
公平地按照后端服务器的响应时间来分配请求,响应时间短的后端服务器优先分配请求。
upstream www_cc_com{
server 192.168.1.1;
server 192.168.1.2;
server 192.168.1.3;
fair;
}
url_hash (没怎么去用 所以就不写啦)
访问url的hash结果来分配请求,使得每个url定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景下。