Nginx的upstream目前支持5種方式的分配
1 輪詢(默認)
每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器down掉,能自動剔除。
2 weight
指定輪詢機率,weight和訪問比率成正比,用於後端服務器性能不均的情況。
例如:
upstream bakend {
server 192.168.100.104 weight=10;
server 192.168.100.105 weight=10;
}
3 ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端服務器,可以
解決session的問題。
例如:
upstream bakend {
ip_hash;
server 192.168.100.104:80;
server 192.168.100.105:80;
}
4 fair(第三方)
按後端服務器的響應時間來分配請求,響應時間短的優先分配。
例如:
upstream bakend {
server 192.168.100.104:80;
server 192.168.100.105:80;
fair;
}
5 url_hash(第三方)
按訪問url的hash結果來分配請求,使每個url定向到同一個後端服務器,後端服務
器爲緩存時比較有效。
例如:
upstream backend {
server 192.168.100.104:3128;
server 192.168.100.105:3128;
hash $request_uri;
hash_method crc32;
}