nginx配置---upstream


一、普通輪詢(默認)

每個請求按時間順序逐一分配到不同的后端服務器,如果后端某台服務器宕機,故障系統被自動剔除,使用戶訪問不受影響。

upstream api { 
server 192.168.0.1:8081; 
server 192.168.0.2:8081; 
} 

二、加權輪詢

weight 指定輪詢的權值,weight值越大,分配到的訪問機率越高,此策略主要用於后端每個服務器性能不均的情況下。

upstream api { 
server 192.168.0.1:8081 weight=10; 
server 192.168.0.2:8081 weight=20;#被訪問記錄大
} 

三、ip_hash

每個請求按訪問IP的hash結果分配,這樣來自同一個IP的訪客固定訪問一個后端服務器,可以解決session不能跨服務器的問題。當然如果這個節點不可用了,會發到下個節點,而此時沒有session同步的話就注銷掉了。

upstream api { 
ip_hash; 
server 192.168.0.1:8081; 
server 192.168.0.2:8081; 
} 

四、least_conn

請求被發送到當前活躍連接最少的后端服務器。會考慮weight的值。如果有多個后端服務器的 conns 值同為最小的,那么對它們采用加權輪詢算法(weight)。

upstream api {
    least_conn;
    server 192.168.0.1:8081; 
    server 192.168.0.2:8081; 
}

五、fair

根據后端服務器的響應時間來分配請求,響應時間短的優先分配。Nginx本身是不支持 fair 的,如果需要使用這種調度算法,必須下載Nginx的 upstream_fair 模塊。

upstream api { 
server 192.168.0.1:8081; 
server 192.168.0.2:8081; 
fair; 
} 

六、url_hash

此方法按訪問 url 的 hash 結果來分配請求,使每個 url 定向到同一個后端服務器,可以進一步提高后端緩存服務器的效率。Nginx 本身是不支持 url _ hash 的,如果需要使用這種調度算法,必須下載 Nginx 的 nginx_upstream_hash 模塊。

upstream api { 
server 192.168.0.1:8081; 
server 192.168.0.2:8081; 
hash $request_uri; 
hash_method crc32;  
} 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM