概述
Nginx負(fù)載均衡提供上游服務(wù)器(真實(shí)業(yè)務(wù)邏輯訪問(wèn)的服務(wù)器),負(fù)載均衡、故障轉(zhuǎn)移、失敗重試、容錯(cuò)、健康檢查等。
當(dāng)上游服務(wù)器(真實(shí)業(yè)務(wù)邏輯訪問(wèn)的服務(wù)器)發(fā)生故障時(shí),可以轉(zhuǎn)移到其他上游服務(wù)器(真實(shí)業(yè)務(wù)邏輯訪問(wèn)的服務(wù)器)。
配置
upstream backServer{
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
server_name www.itmayiedu.com;
location / {
### 指定上游服務(wù)器負(fù)載均衡服務(wù)器
proxy_pass http://backServer;
index index.html index.htm;
}
}
負(fù)載均衡算法
每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù),如果后端某臺(tái)服務(wù)器死機(jī),自動(dòng)剔除故障系統(tǒng),使用戶(hù)訪問(wèn)不受影響。
weight(輪詢(xún)權(quán)值)
weight的值越大分配到的訪問(wèn)概率越高,主要用于后端每臺(tái)服務(wù)器性能不均衡的情況下?;蛘邇H僅為在主從的情況下設(shè)置不同的權(quán)值,達(dá)到合理有效的地利用主機(jī)資源。
一般是按比例
upstream backServer{
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=2;
}
ip_hash
每個(gè)請(qǐng)求按訪問(wèn)IP的哈希結(jié)果分配,使來(lái)自同一個(gè)IP的訪客固定訪問(wèn)一臺(tái)后端服務(wù)器,并且可以有效解決動(dòng)態(tài)網(wǎng)頁(yè)存在的session共享問(wèn)題。俗稱(chēng)IP綁定。
upstream backServer{
server 127.0.0.1:8080 ;
server 127.0.0.1:8081 ;
ip_hash;
}
fair(第三方)
比 weight、ip_hash更加智能的負(fù)載均衡算法,fair算法可以根據(jù)頁(yè)面大小和加載時(shí)間長(zhǎng)短智能地進(jìn)行負(fù)載均衡,也就是根據(jù)后端服務(wù)器的響應(yīng)時(shí)間 來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。Nginx本身不支持fair,如果需要這種調(diào)度算法,則必須安裝upstream_fair模塊。
url_hash(第三方)
按訪問(wèn)的URL的哈希結(jié)果來(lái)分配請(qǐng)求,使每個(gè)URL定向到一臺(tái)后端服務(wù)器,可以進(jìn)一步提高后端緩存服務(wù)器的效率。Nginx本身不支持url_hash,如果需要這種調(diào)度算法,則必須安裝Nginx的hash軟件包。
Nginx配置故障轉(zhuǎn)移
- 當(dāng)上游服務(wù)器(真實(shí)訪問(wèn)服務(wù)器),一旦出現(xiàn)故障或者是沒(méi)有及時(shí)相應(yīng)的話,應(yīng)該直接輪訓(xùn)到下一臺(tái)服務(wù)器,保證服務(wù)器的高可用。
- nginx與上游服務(wù)器(真實(shí)訪問(wèn)的服務(wù)器)超時(shí)時(shí)間 后端服務(wù)器連接的超時(shí)時(shí)間_發(fā)起握手等候響應(yīng)超時(shí)時(shí)間proxy_connect_timeout 1s;
- nginx發(fā)送給上游服務(wù)器(真實(shí)訪問(wèn)的服務(wù)器)超時(shí)時(shí)間 proxy_send_timeout 1s;
- nginx接受上游服務(wù)器(真實(shí)訪問(wèn)的服務(wù)器)超時(shí)時(shí)間 proxy_read_timeout 1s;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。