首頁 >運維 >Nginx >nginx實作負載平衡有哪幾個模式

nginx實作負載平衡有哪幾個模式

王林
王林轉載
2020-06-24 17:28:387998瀏覽

本文來自nginx教程,文中為大家介紹了nginx實現負載平衡的幾種模式,具有一定的參考價值,希望可以幫助到大家。 nginx實現負載平衡的模式:1、輪詢;2、ip_hash;3、url_hash;4、fair。

nginx實作負載平衡有哪幾個模式

(推薦教學:nginx教學

nginx實作負載平衡有幾種模式:

1、輪詢

每個請求依時間順序逐一分配到不同的後端伺服器,也是nginx的預設模式。輪詢模式的設定很簡單,只需要把伺服器清單加入到upstream模組中即可。

下面的設定是指:負載中有三台伺服器,當請求到達時,nginx會依照時間順序把請求分配給三台伺服器處理。

upstream serverList {
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
    }

2、ip_hash

每個請求按存取IP的hash結果分配,同一個IP客戶端固定存取一個後端伺服器。可以保證來自同一ip的請求被打到固定的機器上,可以解決session問題。

下面的設定是指:負載中有三台伺服器,當請求到達時,nginx優先按照ip_hash的結果進行分配,也就是同一個IP的請求固定在某一台伺服器上,其它則按時間順序把請求分配給三台伺服器處理。

upstream serverList {
    ip_hash
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
}

3、url_hash

按存取url的hash結果來分配請求,相同的url固定轉送到同一個後端伺服器處理。

upstream serverList {
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
    hash $request_uri; 
    hash_method crc32; 
}

4、fair

按後端伺服器的回應時間來分配請求,回應時間短的優先分配。

upstream serverList {
    server 1.2.3.4;
    server 1.2.3.5;
    server 1.2.3.6;
    fair;
}

以上是nginx實作負載平衡有哪幾個模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.im。如有侵權,請聯絡admin@php.cn刪除