Nginx的負(fù)載均衡是通過upstream實(shí)現(xiàn)的,在前面也有介紹過茬故,下面對(duì)Nginx常用的upstream方式
- nginx的upstream的幾種方式
輪詢(默認(rèn))
每個(gè)請(qǐng)求按照時(shí)間順序逐一分配到不同的后端服務(wù)器上遥,如果后端服務(wù)器冗機(jī)澡谭,能自動(dòng)剔除纯命。
ip_hash
每個(gè)請(qǐng)求按訪問ip的hash結(jié)果分配西剥,這樣每個(gè)訪問固定訪問一個(gè)后端服務(wù)器。
weight
指定輪詢幾率亿汞,weight和訪問比率成正比瞭空,用于后端服務(wù)器性能不均的情況。
fair(第三方)
按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求疗我,響應(yīng)時(shí)間短的優(yōu)先分配咆畏。
url_hash(第三方)
按訪問URL的hash結(jié)果來(lái)分配請(qǐng)求,使每個(gè)URL定向到同一個(gè)后端服務(wù)器吴裤,后端服務(wù)器為緩存時(shí)比較適用旧找。另外,在upstream中加入hash語(yǔ)句后麦牺,server語(yǔ)句不能寫入weight等其他參數(shù)钮蛛。
例如:
upstream blog.test.com {
#upstream的負(fù)載均衡,weight是權(quán)重剖膳,可以根據(jù)機(jī)器配置定義權(quán)重魏颓。weigth參數(shù)表示權(quán)值,權(quán)值越高被分配到的幾率越大吱晒。
server 192.168.80.121:80 weight=3;
server 192.168.80.122:80 weight=2;
server 192.168.80.123:80 weight=3;
}
總結(jié)一下甸饱,負(fù)載均衡簡(jiǎn)單的理解其實(shí)可以看做是用戶請(qǐng)求Nginx,Nginx將用戶的請(qǐng)求URL按照配置的方式截取仑濒,然后按照配置的upstream的方式請(qǐng)求后端服務(wù)器叹话。