Nginx負載均衡

2022-06-28 09:57:13 字數 1306 閱讀 3672

一、負載均衡的作用

1、**功能

按照一定的演算法【權重、輪詢】,將客戶端請求**到不同應用伺服器上,減輕單個伺服器壓力,提高系統併發量。

2、故障移除

通過心跳檢測的方式,判斷應用伺服器當前是否可以正常工作,如果伺服器期宕掉,自動將請求傳送到其他應用伺服器。

3、恢復新增

如檢測到發生故障的應用伺服器恢復工作,自動將其新增到處理使用者請求隊伍中。

二、nginx實現負載均衡

同樣使用兩個tomcat模擬兩台應用伺服器,埠號分別為8080 和8081

1、nginx的負載分發策略

nginx 的 upstream目前支援的分配演算法: 

1)、輪詢 ——1:1 輪流處理請求(預設)

每個請求按時間順序逐一分配到不同的應用伺服器,如果應用伺服器down掉,自動剔除,剩下的繼續輪詢。 

2)、權重 ——you can you up

通過配置權重,指定輪詢機率,權重和訪問比率成正比,用於應用伺服器效能不均的情況。 

3)、ip_雜湊演算法

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個應用伺服器,可以解決session共享的問題。 

2、配置nginx的負載均衡與分發策略

通過在upstream引數中新增的應用伺服器ip後新增指定引數即可實現,如:

upstream tomcatserver1    

server

}

通過以上配置,便可以實現,在訪問8080.max.com這個**時,由於配置了proxy_pass位址,所有請求都會先通過nginx反向**伺服器,在伺服器將請求**給目的主機時,讀取upstream為 tomcatsever1的位址,讀取分發策略,配置tomcat1權重為3,所以nginx會將大部分請求傳送給49伺服器上的tomcat1,也就是8080埠;較少部分給tomcat2來實現有條件的負載均衡,當然這個條件就是伺服器1、2的硬體指數處理請求能力。 

3、nginx其他配置

upstream myserver
1)down

表示單前的server暫時不參與負載

2)weight

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

3)max_fails

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

4)fail_timeout

max_fails 次失敗後,暫停的時間。

5)backup

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

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...