NGINX輪詢機制的幾種形式

2021-08-21 01:31:40 字數 983 閱讀 8397

前言:總以為輪詢就簡單的next而已,實際還有幾種不同的實現機制。某個客戶的源站有幾個不同的ip,回源的時候自然是採用的輪詢的機制。客戶業務上線前,檢查源站的聯通性發現乙個漏網之魚竟然差點濫竽充數。然而客戶的想法確是:先醬紫配著吧,你們輪詢回源應該能踢掉不響應的源站吧。我:balabalabala.....(不能);客戶:沒事,先醬紫。不過你們的機制還得公升級呀,容錯性不高呀;我:???。。。

且看nginx輪詢機制的幾種形式:(來自佚名作者的科普)

nginx中upstream有以下幾種方式:

1、輪詢(weight=1)

預設選項,當weight不指定時,各伺服器weight相同,

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

upstream bakend
2、weight

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

如果後端伺服器down掉,能自動剔除。

比如下面配置,則1.11伺服器的訪問量為1.10伺服器的兩倍。

upstream bakend
3、ip_hash

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

如果後端伺服器down掉,要手工down掉。

upstream resinserver
4、fair(第三方外掛程式)

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

upstream resinserver
5、url_hash(第三方外掛程式)

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

在upstream中加入hash語句,hash_method是使用的hash演算法

upstream resinserver
裝置的狀態有:

原文:

Nginx中的upstream輪詢機制介紹

nginx中upstream有以下幾種方式 1 輪詢 weight 1 預設選項,當weight不指定時,各伺服器weight相同,每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。upstream bakend2 weight 指定輪詢機率,weight和訪問比率...

Nginx中的upstream輪詢機制介紹

nginx中upstream有以下幾種方式 1 輪詢 weight 1 預設選項,當weight不指定時,各伺服器weight相同,每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。upstream bakend 2 weight 指定輪詢機率,weight和訪問比...

Nginx 做負載均衡的幾種輪詢策略

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