摘要:負(fù)載均衡的平衡機(jī)制輪詢,向應(yīng)用服務(wù)器的請求以循環(huán)方式分發(fā)。服務(wù)器健康檢查中的反向代理實現(xiàn)包括帶內(nèi)或被動服務(wù)器運行狀況檢查。
nginx 負(fù)載均衡的平衡機(jī)制
輪詢,向應(yīng)用服務(wù)器的請求以循環(huán)方式分發(fā)。
最少連接,下一個請求被分配給具有最少數(shù)量活動連接的服務(wù)器(最清閑的服務(wù)器)。
ip-hash,哈希函數(shù)用于確定下一個請求(基于客戶端的IP地址)應(yīng)選擇哪個服務(wù)器(相同IP 的發(fā)送到同一個服務(wù)器,解決 session 問題)。
輪訓(xùn)方式負(fù)載均衡// 代理服務(wù)器的配置文件 http { // 針對 http://test.com 域名的訪問,將會按照默認(rèn) 輪訓(xùn)的方式分配給列表中的服務(wù)器 upstream http://test.com { server srv1.example.com; // 服務(wù)器 A server srv2.example.com; // 服務(wù)器 B server srv3.example.com; // 服務(wù)器 C } } // 具體負(fù)載均衡的服務(wù)器 A 配置文件 http { server { listen 80; location / { proxy_pass http://test.com; } } } // 具體負(fù)載均衡的服務(wù)器 B 配置文件 http { server { listen 80; location / { proxy_pass http://test.com; } } } ....同上最少連接數(shù)方式負(fù)載均衡
// 代理服務(wù)器的配置文件 http { // 針對 http://test.com 域名的訪問,將根據(jù)服務(wù)器的負(fù)載情況進(jìn)行分配 upstream http://test.com { least_conn; # 表示采取 最少連接數(shù) 的負(fù)載均衡機(jī)制 server srv1.example.com; // 服務(wù)器 A server srv2.example.com; // 服務(wù)器 B server srv3.example.com; // 服務(wù)器 C } } // 具體負(fù)載均衡的服務(wù)器 A 配置文件 http { server { listen 80; location / { proxy_pass http://test.com; } } } ....同上ip-hash 方式負(fù)載均衡 解釋
請注意,通過循環(huán)或最少連接的負(fù)載平衡,每個后續(xù)客戶端的請求可能潛在地分配到不同的服務(wù)器。不能保證同一客戶端始終被定向到同一個服務(wù)器。
使用ip-hash,客戶端的IP地址用作哈希鍵,以確定應(yīng)為客戶端請求選擇服務(wù)器組中的哪個服務(wù)器。該方法確保來自同一客戶端的請求將始終被定向到同一臺服務(wù)器,除非該服務(wù)器不可用。
解決 session 問題。
// 代理服務(wù)器的配置文件 http { // 針對 http://test.com 域名的訪問,將確保同一IP始終訪問到同一服務(wù)器 upstream http://test.com { ip_hash; # ip_hash 的負(fù)載均衡機(jī)制 server srv1.example.com; // 服務(wù)器 A server srv2.example.com; // 服務(wù)器 B server srv3.example.com; // 服務(wù)器 C } } // 具體負(fù)載均衡的服務(wù)器 A 配置文件 http { server { listen 80; location / { proxy_pass http://test.com; } } } ....同上加權(quán)負(fù)載均衡
upstream myapp1 { server srv1.example.com weight=3; server srv2.example.com; server srv3.example.com; }
當(dāng) 為服務(wù)器指定權(quán)重參數(shù)時,權(quán)重將作為負(fù)載均衡決策的一部分進(jìn)行計算。
通過這種配置,每5個新請求將分布在應(yīng)用程序?qū)嵗?,如下所示?個請求將被定向到srv1,一個請求將轉(zhuǎn)到srv2,另一個請求將轉(zhuǎn)到srv3。
服務(wù)器健康檢查nginx 中的反向代理實現(xiàn)包括帶內(nèi)(或被動)服務(wù)器運行狀況檢查。如果特定服務(wù)器的響應(yīng)失敗并出現(xiàn)錯誤,nginx會將此服務(wù)器標(biāo)記為失敗,并嘗試避免為此后續(xù)入站請求選擇此服務(wù)器一段時間。
max_fails 設(shè)置失敗重試次數(shù)。 fail_timeout 設(shè)置重試間隔時間。默認(rèn)情況下, max_fails 設(shè)置為 1。 當(dāng)設(shè)置為 0 時,對該服務(wù)器禁用運行狀況檢查。該 fail_timeout 參數(shù)還定義如何,只要服務(wù)器失敗將被標(biāo)記。在 服務(wù)器故障后的 fail_timeout間隔之后,nginx將開始以實時客戶端的請求來優(yōu)雅地探測服務(wù)器。如果探針成功,則將服務(wù)器標(biāo)記為實時的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/39568.html
摘要:現(xiàn)有的服務(wù)器和應(yīng)用程序服務(wù)器相結(jié)合并在一個冒泡中運行,無法直接接觸網(wǎng)絡(luò)流量,由反向代理服務(wù)器提出填鴨式請求。賦予高可用性讓你的反向代理服務(wù)器鏡像到在線備份,同時擁有備用的應(yīng)用程序服務(wù)器,讓你的站點高度可用。 【編者按】本文主要介紹 NGINX 的主要功能以及如何通過 Nginx 優(yōu)化 Python 應(yīng)用性能。本文系國內(nèi) ITOM 管理平臺 OneAPM 編譯呈現(xiàn)。 本文上一篇系: 利用...
摘要:現(xiàn)有的服務(wù)器和應(yīng)用程序服務(wù)器相結(jié)合并在一個冒泡中運行,無法直接接觸網(wǎng)絡(luò)流量,由反向代理服務(wù)器提出填鴨式請求。賦予高可用性讓你的反向代理服務(wù)器鏡像到在線備份,同時擁有備用的應(yīng)用程序服務(wù)器,讓你的站點高度可用。 【編者按】本文主要介紹 NGINX 的主要功能以及如何通過 Nginx 優(yōu)化 Python 應(yīng)用性能。本文系國內(nèi) ITOM 管理平臺 OneAPM 編譯呈現(xiàn)。 本文上一篇系: 利用...
摘要:是的默認(rèn)負(fù)載均衡策略。一致性哈希負(fù)載均衡。所以負(fù)載均衡是分布式系統(tǒng)架構(gòu)設(shè)計中必須考慮的因素之一。考慮主要是如何讓下游接收到的請求是均勻分布的第層客戶端層反向代理層的負(fù)載均衡。通過輪詢第層反向代理層層的負(fù)載均衡。 一、 什么是負(fù)載均衡? 什么是負(fù)載均衡? 記得第一次接觸 Nginx 是在實驗室,那時候在服務(wù)器部署網(wǎng)站需要用 Nginx 。Nginx 是一個服務(wù)組件,用來反向代理、負(fù)載平衡...
閱讀 2620·2023-04-25 19:47
閱讀 3448·2019-08-29 17:18
閱讀 914·2019-08-29 15:26
閱讀 3415·2019-08-29 14:17
閱讀 1262·2019-08-26 13:49
閱讀 3403·2019-08-26 13:22
閱讀 3122·2019-08-26 10:44
閱讀 2757·2019-08-23 16:51