常用負載均衡演算法 nginx負載均衡實現方法

2021-08-20 06:34:35 字數 1726 閱讀 2532

1、輪詢法

將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載。

2、隨機法

通過系統的隨機演算法,根據後端伺服器的列表大小值來隨機選取其中的一台伺服器進行訪問。由概率統計理論可以得知,隨著客戶端呼叫服務端的次數增多,

其實際效果越來越接近於平均分配呼叫量到後端的每一台伺服器,也就是輪詢的結果。

3、源位址雜湊法

源位址雜湊的思想是根據獲取客戶端的ip位址,通過雜湊函式計算得到的乙個數值,用該數值對伺服器列表的大小進行取模運算,得到的結果便是客服端要訪問伺服器的序號。採用源位址雜湊法進行負載均衡,同一ip位址的客戶端,當後端伺服器列表不變時,它每次都會對映到同一台後端伺服器進行訪問。

4、加權輪詢法

不同的後端伺服器可能機器的配置和當前系統的負載並不相同,因此它們的抗壓能力也不相同。給配置高、負載低的機器配置更高的權重,讓其處理更多的請;而配置低、負載高的機器,給其分配較低的權重,降低其系統負載,加權輪詢能很好地處理這一問題,並將請求順序且按照權重分配到後端。

5、加權隨機法

與加權輪詢法一樣,加權隨機法也根據後端機器的配置,系統的負載分配不同的權重。不同的是,它是按照權重隨機請求後端伺服器,而非順序。

6、最小連線數法

最小連線數演算法比較靈活和智慧型,由於後端伺服器的配置不盡相同,對於請求的處理有快有慢,它是根據後端伺服器當前的連線情況,動態地選取其中當前

積壓連線數最少的一台伺服器來處理當前的請求,盡可能地提高後端服務的利用效率,將負責合理地分流到每一台伺服器。

nginx負載均衡實現方法

其nginx.conf檔案編寫如下

upstream test

其nginx.conf檔案編寫如下

upstream test

其nginx.conf檔案編寫如下

upstream test

其nginx.conf檔案編寫如下

upstream test

其nginx.conf檔案編寫如下

pstream test
tips: 

在nginx upstream模組中,可以設定每台後端伺服器在負載均衡排程中的狀態,常用的狀態有: 

1、down,表示當前的server暫時不參與負載均衡 

2、backup,預留的備份機器。當其他所有的非backup機器出現故障或者忙的時候,才會請求backup機器,因此這台機器的訪問壓力最低 

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

4、fail_timeout,請求失敗超時時間,在經歷了max_fails次失敗後,暫停服務的時間。max_fails和fail_timeout可以一起使用。

nignx負載均衡功能是通過upstream模組實現的,是基於內容和應用的7層交換負載均衡。nginx負載均衡預設對後端伺服器有健康檢測能力,但是檢測能力較弱,僅限於埠檢測,在後端伺服器比較少的情況下(10台及以下)負載均衡能力表現突出。

nginx常用負載均衡演算法

nginx常用負載均衡演算法有6種 nginx本身支援4種 輪詢 round robin 加權輪詢 weight round robin ip hash,最小連線 least conn 第三方模組,支援2種 最快響應時間 fair url hash 1.輪詢 round robin 輪詢,依次將請求...

nginx 負載均衡演算法

1 輪詢 就是按照時間順序分配下乙個請求的伺服器。2 權值輪詢 給每乙個伺服器加上權值,權值和分配的請求成正比,比較適應於伺服器配置不均的情況。upstream backend 3 ip雜湊 根據ip的雜湊值分配,這樣每個ip每次訪問的伺服器都相同,這樣session的處理會容易些。upstream...

Nginx 負載均衡演算法

1 輪詢 預設 每個請求按順序逐一分配到不同的伺服器,如果某台伺服器宕機,自動剔除故障系統,整個服務保證可用 2 weight 輪詢加權 weight的值越大分配到的訪問概率越高 upstream bakend 3 ip hash 每個請求按訪問ip的雜湊結果分配,使來自同乙個ip的訪客固定訪問一台...