Nginx常見使用場景-負(fù)載均衡服務(wù)(六)

nginx 負(fù)載均衡服務(wù)

實現(xiàn)的原理使用的是 proxy_pass哎榴,nginx將不同的服務(wù)轉(zhuǎn)發(fā)到服務(wù)池當(dāng)中蜕着。

//語法
Syntax:upstream name {...}
Default:-
Context:http

在目標(biāo)服務(wù)器配置三個不同server表示不同的服務(wù)

//server1
server{
    listen 8001;
    ...
    location / {
        root /opt/app/code1;
        index index.html index.htm;
    }
}

//server2
server{
    listen 8002;
    ...
    location / {
        root /opt/app/code2;
        index index.html index.htm;
    }

}

//server3
server{
    listen 8003;
    ...
    location / {
        root /opt/app/code3;
        index index.html index.htm;
    }
}

在代理服務(wù)器配置 upsteram.conf

//后面的名字是自定義的,在proxy_pass配置
upstream imooc{
    server 192.168.9.1:8001;
    server 192.168.9.1:8002;
    server 192.168.9.1:8003 ;
}
server {
    listen 80;
    server_name www.applelife.xyz;
    ...
    location /{
        #配置上面的名稱 imocc
        proxy_pass http://imocc;
        #proxy_params 為共同參數(shù)配置文件
        include proxy_params;
    }
}

啟動之后惠况,瀏覽驗證查看遭庶,訪問代理服務(wù)器,默認(rèn)服務(wù)請求是輪詢的操作查看

在目標(biāo)服務(wù)器上停止掉一個服務(wù)驗證:利用iptables

//命令 不對外提供8002的端口的服務(wù)
iptables -I INPUT -p tcp --dport 8002 -j DROP

upstream舉例

//支持ip域名的方式
upstream backend{
    #weight表示權(quán)重稠屠,在輪詢當(dāng)中比重
    server backend1.example.com weight =5;
    server backend2.exxample.com:8080;
    #socket方式
    server unix:/tmp/backend3;
    
    #backup表示是一個備份的節(jié)點
    server backup1.example.com:8080 backup;
    server backup2.example.com:8080 backup;
}

后端服務(wù)器在負(fù)載均衡調(diào)度中的狀態(tài)參數(shù)介紹

#當(dāng)前的server暫時不參與負(fù)載均衡
down
#預(yù)留的備份服務(wù)器
backup
#允許請求失敗的次數(shù)
max_fails
#經(jīng)過max_fails失敗后峦睡,服務(wù)暫停的時間,默認(rèn)10秒
fail_timeout
#限制最大的接收的連接數(shù)
max_conns

//示例
upstream applelife {
    #不進(jìn)行服務(wù) server1
    server 192.168.9.1:8001 down;
    #備份服務(wù) server2
    server 192.168.9.1:8002 backup;
    #允許請求失敗次數(shù) server3
    server 192.168.9.1:8003 max_fails=1 fail_timeout=10s;
}

在驗證的時候权埠,發(fā)現(xiàn)只會出現(xiàn)server3 在目標(biāo)服務(wù)器上停止掉一個服務(wù)驗證:利用iptables

//命令 不對外提供8003的端口的服務(wù)
iptables -I INPUT -p tcp --dport 8003 -j DROP

停掉 8003服務(wù)之后榨了,之后就會啟動8002備份服務(wù)了

//關(guān)閉 iptables
iptables -F

調(diào)度算法方式

  • 輪詢 按照時間的順序逐一分配到不同的后端服務(wù)器
  • 加權(quán)輪詢 weight值越大 ,分配到的訪問的機(jī)率越高
  • ip_hash 每個請求的按訪問ip的hash結(jié)果分配攘蔽,這樣來自同一個ip的固定訪問一個后端服務(wù)器(代理不能訪問的客戶端的ip)
  • url_hash 按照訪問的url的hash結(jié)果來分配請求龙屉,是每個url定向到同一個后端服務(wù)器
  • least_conn 最少的鏈接數(shù),那個機(jī)器連接數(shù)少就分發(fā)
  • hash關(guān)鍵數(shù)值 hash自定義的key
//iphash方式
upstream applelife {
    ip_hash;
    # server1
    server 192.168.9.1:8001;
    # server2
    server 192.168.9.1:8002;
    # server3
    server 192.168.9.1:8003;
}

hash關(guān)鍵數(shù)值

//語法 這個是在版本1.7.2出現(xiàn)的
Syntax:hash key [consistent];
Default:-
Context:upstream

//示例
upstream applelife {
    #request_uri請求參數(shù) 不包括域名的部分
    hash $request_uri;
    # server1
    server 192.168.9.1:8001;
    # server2
    server 192.168.9.1:8002;
    # server3
    server 192.168.9.1:8003;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末满俗,一起剝皮案震驚了整個濱河市转捕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漫雷,老刑警劉巖瓜富,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異降盹,居然都是意外死亡与柑,警方通過查閱死者的電腦和手機(jī)谤辜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來价捧,“玉大人丑念,你說我怎么就攤上這事〗狍” “怎么了脯倚?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嵌屎。 經(jīng)常有香客問我推正,道長,這世上最難降的妖魔是什么宝惰? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任植榕,我火速辦了婚禮,結(jié)果婚禮上尼夺,老公的妹妹穿的比我還像新娘尊残。我一直安慰自己,他們只是感情好淤堵,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布寝衫。 她就那樣靜靜地躺著,像睡著了一般拐邪。 火紅的嫁衣襯著肌膚如雪慰毅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天庙睡,我揣著相機(jī)與錄音事富,去河邊找鬼。 笑死乘陪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雕擂。 我是一名探鬼主播啡邑,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼井赌!你這毒婦竟也來了谤逼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤仇穗,失蹤者是張志新(化名)和其女友劉穎流部,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纹坐,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡枝冀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片果漾。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡球切,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绒障,到底是詐尸還是另有隱情吨凑,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布户辱,位于F島的核電站鸵钝,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏庐镐。R本人自食惡果不足惜蒋伦,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望焚鹊。 院中可真熱鬧痕届,春花似錦、人聲如沸末患。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽璧针。三九已至嚷炉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間探橱,已是汗流浹背申屹。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留隧膏,地道東北人哗讥。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像胞枕,于是被迫代替她去往敵國和親杆煞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359