前言:總以為輪詢就簡單的next而已,實際還有幾種不同的實現機制。某個客戶的源站有幾個不同的ip,回源的時候自然是採用的輪詢的機制。客戶業務上線前,檢查源站的聯通性發現乙個漏網之魚竟然差點濫竽充數。然而客戶的想法確是:先醬紫配著吧,你們輪詢回源應該能踢掉不響應的源站吧。我:balabalabala.....(不能);客戶:沒事,先醬紫。不過你們的機制還得公升級呀,容錯性不高呀;我:???。。。
且看nginx輪詢機制的幾種形式:(來自佚名作者的科普)
nginx中upstream有以下幾種方式:
1、輪詢(weight=1)
預設選項,當weight不指定時,各伺服器weight相同,
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。
upstream bakend2、weight
指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。
如果後端伺服器down掉,能自動剔除。
比如下面配置,則1.11伺服器的訪問量為1.10伺服器的兩倍。
upstream bakend3、ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session不能跨伺服器的問題。
如果後端伺服器down掉,要手工down掉。
upstream resinserver4、fair(第三方外掛程式)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。
upstream resinserver5、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...