在服務器集羣中,Nginx起到一箇代理服務器的角色(即反向代理),爲了避免單獨一箇服務器壓力過大,將來自用戶的請求轉發給不同的服務器。下面就來看下Nginx負載均衡策略有哪些。
每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器down掉,能自動剔除。
upstem bcksee {
see 92.68.0.7;
see 92.68.0.8;
}
指定輪詢幾率,weight和訪問比率成正比,用於後端服務器性能不均的情況。
upstem bcksee {
see 92.68.0.7 weight=8;
see 92.68.0.8 weight=0;
}
3、IP綁定 ip_hsh
每個請求按訪問ip的hsh結果分配,這樣每個訪客固定訪問一箇後端服務器,可以解決session的問題。
upstem bcksee {
ip_hsh;
see 92.68.0.7:88;
see 92.68.0.8:80;
}
4、fi(第三方)
按後端服務器的響應時間來分配請求,響應時間短的優先分配。
upstem bcksee {
see see;
see see2;
fi;
}
5、ul_hsh(第三方)
按訪問ul的hsh結果來分配請求,使每個ul定向到同一個後端服務器,後端服務器爲緩存時比較有效。
upstem bcksee {
see squid:328;
see squid2:328;
hsh $equest_ui;
hsh_method cc32;
}
在需要使用負載均衡的see中增加
poxy_pss http://bcksee/;
upstem bcksee{
ip_hsh;
see 27.0.0.:9090 down; (down 表示當前的see暫時不參與負載)
see 27.0.0.:8080 weight=2; (weight 默認爲.weight越大,負載的權重就越大)
see 27.0.0.:6060;
see 27.0.0.:7070 bckup; (其它所有的非bckup機器down或者忙的時候,請求bckup機器)
}
mx_fils :允許請求失敗的次數默認爲,當超過最大次數時,返回poxy_next_upstem 模塊定義的錯誤。
fil_timeout:mx_fils次失敗後,暫停的時間。