Nginx負載均衡

2021-10-10 20:06:08 字數 1814 閱讀 8073

負載均衡是什麼?

我們之前使用proxy_pass的方式實現了nginx**請求到後端的效果,隨著我們的**訪問量越來越多,乙個後端就不現實了,那麼接下來我們應該如果在訪問量日漸增大的情況下,滿足線上業務的穩定呢?

解決方法就是:負載均衡

負載均衡簡單說來人多力量大,打群架。

nginx upstream模組

官方資料**:

官方的**屬性很多,我們主要介紹upstream和ip_hash屬性

官方**示例:

upstream backend  

server

}

屬性詳解:

upstream 主要是定義乙個後端服務位址的集合列表,每個後端服務使用乙個server命令表示

upstream {} 和 server {} 兩部分內容屬於平級關係。

後端服務狀態:

在upstream模組中,可以使用server命令指定後端伺服器的位址,同時還可以設定後端伺服器在負載均衡排程中的狀態,常用的狀態有以下幾種:

down: 表示當前server主機暫時不參與負載均衡。

backup:後備主機,當所有非backup機器出現故障或者繁忙的時候,才會請求backup機器。

max_fails:允許請求的最大失敗數,預設為1,配合fail_timeout一起使用

fail_timeout:經歷max_fails次失敗後,暫停服務的時間,預設為10s。

nginx負載均衡實踐

載均衡配置檔案:

#vim /etc/nginx/conf.d/upstream.conf

upstream backends

server

}

後端**配置檔案:

#vim /etc/nginx/conf.d/backend.conf

server

}server

}server

}

負載均衡排程演算法

官方資料**:

nginx提供的負載均衡策略有兩種:

內建策略:nginx自帶的演算法

雨露均沾型:輪訓、加權輪訓、雜湊

定向服務型:ip_hash、least_conn、cookie、route、lean

商業型別:ntlm、least_time、queue、stick

拓展策略:各種結合業務場景自定義的演算法或者第三方演算法

自定義演算法

第三方演算法:fair、url_hash

第三方演算法:fair、url_hash

常用演算法簡介

輪詢(預設):請求按順序逐一分配到不同的後端伺服器。

weight:指定輪詢權重,值越大,分配到的機率就越高,適用於後端伺服器效能不均衡情況。

ip_hash:按訪問ip的雜湊結果分配請求,分配後訪客訪問固定後端伺服器,有效的解決動態網頁會話共享問題。

加權輪訓使用

upstream meiduo 

server

}server

}server

}server

}

ip_hash使用

upstream meiduo 

server

}server

}server

}server

}

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