Nginx負載均衡五種策略分析

在服務器集羣中,Nginx起到一箇代理服務器的角色(即反向代理),爲了避免單獨一箇服務器壓力過大,將來自用戶的請求轉發給不同的服務器。下面就來看下Nginx負載均衡策略有哪些。

、輪詢(默認)

每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器down掉,能自動剔除。

upstem bcksee {

see 92.68.0.7;

see 92.68.0.8;

}

2、指定權重

指定輪詢幾率,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次失敗後,暫停的時間。