1、根據IP分流
2、根據URL分流
3、根據權重
4、根據響應時間
NGINX負載均衡分發請求的幾種方式
1、輪詢(默認)
每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。
2、weight
指定輪詢幾率,weight和訪問比率成正比,用於后端服務器性能不均的情況。
3、ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。
4、fair(第三方)
按后端服務器的響應時間來分配請求,響應時間短的優先分配。
5、url_hash(第三方)
按訪問url的hash結果來分配請求,使每個url定向到同一個后端服務器,后端服務器為緩存時比較有效。
upstream www.test1.com {
ip_hash;
server 172.16.125.76:8066 weight=10; server 172.16.125.76:8077 down; server 172.16.0.18:8066 max_fails=3 fail_timeout=30s; server 172.16.0.18:8077 backup; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
根據服務器的本身的性能差別及職能,可以設置不同的參數控制。
down 表示負載過重或者不參與負載
weight 權重過大代表承擔的負載就越大
backup 其它服務器時或down時才會請求backup服務器
max_fails 失敗超過指定次數會暫停或請求轉往其它服務器
fail_timeout 失敗超過指定次數后暫停時間