Nginx 負載均衡

2021-09-11 15:34:07 字數 2133 閱讀 5851

核心就在於upstream模組的配置。

upstream tomcatserver1

upstream tomcatserver2

server

}server

}nginx的upstream目前支援的5種方式的分配

1、輪詢(預設)

預設配置就是輪詢策略。每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。 此策略適合伺服器配置相當,無狀態且短平快的服務使用。

upstream backserver  

2、指定權重

指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均、硬體配置差異比較大的情況。此策略可以與和

ip_hash

結合使用

upstream backserver  

3、ip_hash

指定負載均衡器按照基於客戶端

ip的分配方式,這個方法確保了相同的客戶端的請求一直傳送到相同的伺服器,以保證

session

會話。這樣每個訪客都固定訪問乙個後端伺服器,可以解決session不能跨伺服器的問題。此策略適合有狀態服務,比如

session

,當有伺服器需要剔除,必須手動

down

掉。ip_hash

不能與backup

同時使用,在

nginx

版本1.3.1

之前,不能在

ip_hash

中使用權重(

weight

)。upstream backserver  

4、fair(第三方)

按後端伺服器的響應時間來分配請求,響應時間短的優先分配。這種策略具有很強的自適應性,但是實際的網路環境往往不是那麼簡單,因此須慎用 

upstream backserver  

5、url_hash(第三方)

按訪問url

的hash

結果來分配請求,使每個

urlurl_hash

,可以使得同乙個

url(也就是同乙個資源請求)會到達同一臺伺服器,一旦快取住了資源,再此收到請求,就可以從快取中讀取。不能在

url_hash

中使用權重(

weight

)。 upstream backserver  

而在每乙個server還可以有額外的配置:

1.down:表示單前的server暫時不參與負載 

2.weight:預設為1.weight越大,負載的權重就越大。 

3.max_fails:允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream模組定義的錯誤 

4.fail_timeout:max_fails次失敗後,暫停的時間。 

5.backup:其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。

允許乙個server同時新增多個配置,例如:

upstream server_frontend

upstream tomcatserver1

重啟nginx,在瀏覽器分別輸入8080.evan.com和8081.evan.com,即可看到

訪問8080.evan.com,發現test in 8080出現兩次,隨後出現test in 8081,以此迴圈

訪問8081.evan.com,則一直是test in 8081

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

nginx負載均衡

nginx 的 upstream目前支援 4 種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。3 ip hash 每個請求按訪問ip的hash...

nginx負載均衡

nginx s stop quick exit nginx s quit graceful quit nginx s reload changing configuration,starting a new worker,quitting an old worker gracefully nginx...