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