溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nginx七層負(fù)載均衡的調(diào)度算法有哪些

發(fā)布時間:2021-08-21 11:08:59 來源:億速云 閱讀:119 作者:小新 欄目:服務(wù)器

這篇文章主要為大家展示了“Nginx七層負(fù)載均衡的調(diào)度算法有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Nginx七層負(fù)載均衡的調(diào)度算法有哪些”這篇文章吧。

Nginx是一款輕量級的高性能web服務(wù)器,同時也是一款非常優(yōu)秀的負(fù)載均衡器和反向代理服務(wù)器。由于支持強(qiáng)大的正則匹配規(guī)則、動靜分離、URLrewrite功能及安裝配置簡單且對網(wǎng)絡(luò)穩(wěn)定性依賴非常小等優(yōu)點(diǎn),所以常用來做為七層負(fù)載均衡使用。在硬件不差的情況下,通常可以穩(wěn)定支持幾萬的并發(fā)連接,在硬件性能足夠好,且對系統(tǒng)內(nèi)核參數(shù)及Nginx配置進(jìn)行優(yōu)化甚至可以達(dá)到10萬以上的并發(fā)。

以下是Nginx作為七層負(fù)載均衡常用的幾種調(diào)度算法和適用的業(yè)務(wù)場景

1、輪詢(默認(rèn)調(diào)度算法)

特點(diǎn):每個請求按時間順序逐一分配到不同的后端服務(wù)器處理。
適用業(yè)務(wù)場景:后端服務(wù)器硬件性能配置完全一致,業(yè)務(wù)無特殊要求時使用。

upstream backendserver { 
server 192.168.0.14:80 max_fails=2 fail_timeout=10s; 
server 192.168.0.15:80 max_fails=2 fail_timeout=10s; 
}

2、加權(quán)輪詢

特點(diǎn):指定輪詢幾率,weight值(權(quán)重)和訪問比例成正比,用戶請求按權(quán)重比例分配。
適用業(yè)務(wù)場景:用于后端服務(wù)器硬件性處理能力不平均的情形。

upstream backendserver { 
server 192.168.0.14:80 weight=5 max_fails=2 fail_timeout=10s; 
server 192.168.0.15:80 weight=10 max_fails=2 fail_timeout=10s;
}

3、ip_hash

特點(diǎn):每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務(wù)器,可以解決session會話保持問題。
適用業(yè)務(wù)場景:適用于需要賬號登錄的系統(tǒng),會話連接保持的業(yè)務(wù)。

upstream backendserver { 
ip_hash; 
server 192.168.0.14:80 max_fails=2 fail_timeout=10s; 
server 192.168.0.15:80 max_fails=2 fail_timeout=10s; 
}

4、最少連接數(shù) least_conn

特點(diǎn):按nginx反向代理與后端服務(wù)器之間的連接數(shù),連接數(shù)最少的優(yōu)先分配。

適用業(yè)務(wù)場景:適用于客戶端與后端服務(wù)器需要保持長連接的業(yè)務(wù)。

upstream backendserver { 
least_conn;
server 192.168.0.14:80 max_fails=2 fail_timeout=10s; 
server 192.168.0.15:80 max_fails=2 fail_timeout=10s; 
}

5、fair(需編譯安裝第三方模塊 ngx_http_upstream_fair_module)

特點(diǎn):按后端服務(wù)器的響應(yīng)時間來分配請求,響應(yīng)時間短的優(yōu)先分配。
適用業(yè)務(wù)場景:對訪問響應(yīng)速度有一定要求的業(yè)務(wù)。

upstream backendserver {
fair; 
server 192.168.0.14:80 max_fails=2 fail_timeout=10s; 
server 192.168.0.15:80 max_fails=2 fail_timeout=10s; 
}

6、url_hash(需編譯安裝第三方模塊 ngx_http_upstream_hash_module)

特點(diǎn):按訪問url的hash結(jié)果來分配請求,使同一個url訪問到同一個后端服務(wù)器。

適用業(yè)務(wù)場景:適用于后端服務(wù)器為緩存服務(wù)器時比較有效。

upstream backendserver { 
server 192.168.0.14:80 max_fails=2 fail_timeout=10s;
server 192.168.0.15:80 max_fails=2 fail_timeout=10s; 
hash $request_uri; 
}

以上是“Nginx七層負(fù)載均衡的調(diào)度算法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI