關於Nginx負載均衡的6種策略

2022-01-30 12:03:10 字數 1406 閱讀 7449

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

1、輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。 

upstream backserver

2、指定權重

指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。

upstream backserver

3、ip繫結 ip_hash

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

upstream backserver

4、least_conn

把請求**給連線數較少的後端伺服器。輪詢演算法是把請求平均的**給各個後端,使它們的負載大致相同;

但是,有些請求占用的時間很長,會導致其所在的後端負載較高。這種情況下,least_conn這種方式就可以達到更好的負載均衡效果。

least_conn演算法很簡單,首選遍歷後端集群,比較每個後端的conns/weight,選取該值最小的後端。

如果有多個後端的conns/weight值同為最小的,那麼對它們採用加權輪詢演算法。

#動態伺服器組

upstream dynamic_zuoyu

5、fair(第三方)

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

upstream backserver

6、url_hash(第三方)

按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。 

upstream backserver

在需要使用負載均衡的server中增加 

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

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

以上內容**,僅供自己學習

6 nginx負載均衡

mkdir p server tools cd server tools wget 從其他機器拷貝過來 scp nginx 1.18.0.tar.gz 172.16.1.5 server tools 2 安裝依賴 yum install pcre pcre devel y yum install o...

6種負載均衡演算法

1 輪詢法 此演算法將請求按順序輪流的分配到後端伺服器,他均衡的對待後台每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載 public class roundrobin public static void main string args start public static strin...

6種負載均衡演算法

1 輪詢法 將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載。2 隨機法 通過系統的隨機演算法,根據後端伺服器的列表大小值來隨機選取其中的一台伺服器進行訪問。由概率統計理論可以得知,隨著客戶端呼叫服務端的次數增多,其實際效果越來越接近於...