本文來自nginx教程,文中為大家介紹了nginx實現負載平衡的幾種模式,具有一定的參考價值,希望可以幫助到大家。 nginx實現負載平衡的模式:1、輪詢;2、ip_hash;3、url_hash;4、fair。
(推薦教學: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中文網其他相關文章!