首頁>技術>

很多團隊會在生產環境中引入Nginx來做負載均衡,下面給大家簡要說說Nginx負載均衡中的6種不同策略。

輪詢

輪詢是預設策略,每個請求按時間順序逐一分配到不同節點,後端各個節點平均處理請求。

平均輪詢

加權輪詢

根據節點的權重進行輪詢,權重越高分配到的請求越多。適用於伺服器效能差別比較大的情況,比如硬體配置差別較大,或者新老伺服器混用的時候。

加權輪詢,權重高,分配多

least_conn

按節點的連線數來分配,把請求優先分配給連線數少的節點。該策略主要為了解決,各個節點請求處理時間長短不一造成某些節點超負荷的情況。

fair

按節點的響應時間長短來分配,把請求優先分配給響應時間短的節點。該策略可用於節點效能不均衡的情況,也可以防止某個節點突發性能問題還繼續接收同樣多的請求,從而造成雪崩的情況。

ip_hash

按客戶端來源IP的hash結果分配。這樣相同客戶端的請求會被分配到同一個節點上,主要是為了解決session問題。比如,某個使用者的登入操作,登入的請求被分配到節點1,對使用者來說他已經登入成功了。有可能下一刻,該使用者某個需要許可權才能訪問的請求被分配到節點2了。但是對節點2來說該使用者是沒有登入的,會提示使用者沒登入。

按客戶端ip的hash結果分發

url_hash

按訪問URL的hash結果分配。這樣相同的url會被分配到同一個節點,主要為了提高快取命中率。比如,為了提高訪問效能,服務端有大量資料或者資原始檔需要被快取。使用這種策略,可以節省快取空間,提高快取命中率。

按url的hash結果分發

14
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 「Flutter 專題」01 圖解 Windows 環境安裝