NGINX負載均衡簡介和配置

2021-10-24 10:41:07 字數 1401 閱讀 5069

跨多個應用程式例項的負載平衡是優化資源利用率、最大化吞吐量、減少延遲和確保容錯配置的常用技術。可以使用 nginx 作為非常高效的 http 負載均衡器將流量分發到多個應用程式伺服器,並提高使用 nginx 的 web 應用程式的效能、可擴充套件性和可靠性。

注:對應用程式伺服器的請求以迴圈方式分發。

使用 nginx 進行負載平衡的最簡單配置可能如下所示:

}}注:下乙個請求分配給活動連線最少的伺服器。

另乙個負載平衡約束連線最少。在某些請求需要更長的時間才能完成的情況下,連線最少允許更公平地控制應用程式例項上的負載。

使用連線最少的負載平衡,nginx 將盡量不要使繁忙的應用程式伺服器過載,請求過多,而是將新請求分發到不太繁忙的伺服器。

當將系統指令用作伺服器組配置的一least_conn時,將啟用 nginx 中連線最少的負載平衡:

least_conn;

server srv1.example.com;

server srv2.example.com;

server srv3.example.com;}

注意,通過迴圈或最少連線的負載平衡,每個後續客戶端的請求都可能分發到不同的伺服器。不能保證同一客戶端將始終定向到同一伺服器。

如果需要將客戶端與特定應用程式伺服器保持連線(換句話說,使客戶端的會話始終嘗試選擇特定伺服器為"粘性"或"持久"),可使用 ip 雜湊負載平衡機制。

使用 ip 雜湊,客戶端的 ip 位址用作雜湊鍵,以確定應為客戶端的請求選擇伺服器組中的哪個伺服器。此方法可確保來自同一客戶端的請求始終定向到同一伺服器,除非此伺服器不可用。

要配置 ip 雜湊負載平衡,只需將ip_hash新增到伺服器(上游)組配置:

ip_hash;

server srv1.example.com;

server srv2.example.com;

server srv3.example.com;

}注:通過使用伺服器權重進一步影響 nginx 負載平衡演算法。

在上面的示例中,未配置伺服器權重,這意味著所有指定的伺服器都被視為對特定負載平衡方法擁有同等資格。

特別是迴圈,這也意味著請求在伺服器之間或多或少的平等分布,只要有足夠的請求,並且請求以統一的方式處理並且完成得足夠快。

當為伺服器指定權重引數時,權重將計入負載平衡決策的一部分。

server srv1.example.com weight=3;

server srv2.example.com;

server srv3.example.com;

}通過此配置,每 5 個新請求將分布在應用程式例項中,如下所示:3 個請求將定向到 srv1,乙個請求將定向到 srv2,另乙個請求將定向到 srv3。

nginx負載均衡配置

curl nginx upstream fair.zip unzip nginx upstream fair.zip cd nginx 1.6.2 檢視當前nginx 編譯引數 nginx v 輸出 configure arguments prefix usr local nginx configu...

Nginx負載均衡配置

負載均衡是我們大流量 要做的乙個東西,下面我來給大家介紹在nginx伺服器上進行負載均衡配置方法,希望對有需要的同學有所幫助哦。負載均衡 先來簡單了解一下什麼是負載均衡,單從字面上的意思來理解就可以解釋n臺伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閒置的情況。那麼負載均衡的前提就是...

Nginx負載均衡配置

nginx安裝請參考 nginx原始碼安裝 nginx負載均衡是通過upstream模組來實現的,內建實現了三種負載策略,配置還是比較簡單的。官網負載均衡配置說明 省略其它配置 根據伺服器的響應時間來分配請求,響應時間短的優先分配,即負載壓力小的優先會分配。由於fair模組是第三方提供的,所以在編譯...