Nginx的upstream詳解

分配方式

Nginx的upstream支持5種 分配方式庙曙,其中 輪詢(xún)、權(quán)重钾挟、IP散列這三種為Nginx原生支持的分配方式坷随,fair 和 url_hash 為第三方支持的分配方式。


1暮屡,輪詢(xún)

輪詢(xún)是upstream的默認(rèn)分配方式撤摸,即每個(gè)請(qǐng)求按照時(shí)間順序輪流分配到不同的后端服務(wù)器,如果某個(gè)后端服務(wù)器 down 掉后栽惶,能自動(dòng)剔除愁溜。

upstream zhang21(名稱(chēng)){

? ? server 192.168.1.11:8888;

? ? ?server 192.168.1.22:8888外厂;

? ? server 192.168.1.33:8888冕象;

}


2,weight(權(quán)重)

輪詢(xún)的加強(qiáng)版汁蝶,既可以指定輪詢(xún)比率渐扮,weight 和訪問(wèn)幾率成正比,主要應(yīng)用于后端服務(wù)器異質(zhì)的場(chǎng)景下掖棉。

upstream zhang21 {

? ? server 192.168.1.11 weight=1墓律;

? ? server 192.168.1.22 weight=2;

? ? server 192.168.1.33 weight=3幔亥;

}


3耻讽,ip_hash

每個(gè)請(qǐng)求按照訪問(wèn) Ip(即Nginx的前置服務(wù)器或客戶端IP)的 hash結(jié)果分配,這樣每個(gè)訪客會(huì)固定訪問(wèn)一個(gè)后端服務(wù)器帕棉,可以解決 session 一致問(wèn)題针肥。

upstream zhang21 {

? ? ip_hash;

? ? server 192.168.1.11:7777;

? ? server 192.168.1.22:8888;

? ? server 192.168.1.33:9999;

}


4,fair

fair顧名思義香伴,公平地按照后端服務(wù)器的響應(yīng)時(shí)間(rt)來(lái)分配請(qǐng)求慰枕,響應(yīng)時(shí)間(rt)小的后端服務(wù)器優(yōu)先分配請(qǐng)求。

upstream zhang21 {

? ? server 192.168.1.11;

? ? server 192.168.1.22;

? ? server 192.168.1.33;

}


5即纲,url_hash

與 ip_hash類(lèi)似具帮,但是按照訪問(wèn) url 的 hash 結(jié)果來(lái)分配請(qǐng)求,使得每個(gè) url 定向到同一個(gè)后端服務(wù)器,主要應(yīng)用于后端服務(wù)器為緩存的場(chǎng)景下蜂厅。

upstream zhang21 {

? ? server 192.168.1.11;

? ? server 192.168.1.22;

? ? server 192.168.1.33;

? ?hash $request_uri匪凡;

? ? hash_method crc32;

}

其中葛峻,hash_method為使用的hash算法锹雏,需要注意,此時(shí)server語(yǔ)句中不能添加 weight等參數(shù)术奖。


設(shè)備狀態(tài)

從上面可以看出upstream中server指令語(yǔ)法如下:

server ?address ?[ parameters ]

address可以是主機(jī)名礁遵、域名、ip或Unix Socket采记,也可以指定端口號(hào)佣耐;

parameters表示可選參數(shù),有如下這些:

down唧龄,表示當(dāng)前server已停用兼砖;

backup,表示當(dāng)前server是備用服務(wù)器既棺,只有其它非backup后端服務(wù)器都掛掉了或很忙才會(huì)分配請(qǐng)求給它讽挟;

weight,表示當(dāng)前server負(fù)載權(quán)重丸冕,權(quán)重越大幾率愈高耽梅;

max_fails 和 fail_timeout 一般會(huì)關(guān)聯(lián)使用,如果某臺(tái)server在 fail_timeout 時(shí)間內(nèi)出現(xiàn)了 max_fails 次連接失敗胖烛,那么Nginx會(huì)認(rèn)為其已經(jīng)掛掉眼姐,從而在 fail_timeout 時(shí)間內(nèi)不再去請(qǐng)求它,fail_timeout默認(rèn)是 10s佩番,max_fails默認(rèn)是1众旗,即默認(rèn)情況只要是發(fā)生錯(cuò)誤就認(rèn)為服務(wù)器掛了,如果將max_fails設(shè)置為0趟畏,則表示取消這項(xiàng)檢查贡歧。


舉個(gè)栗子

四臺(tái)主機(jī),一臺(tái)處理轉(zhuǎn)發(fā)赋秀,另外三臺(tái)為后端處理服務(wù)器利朵。

192.168.1.11 ? ?#前

192.168.1.22

192.168.1.33

192.168.1.44

在 1.11上的簡(jiǎn)單配置

在nginx.conf的http{ }下;

upstream zhang21 {

server 192.168.1.22沃琅;

server 192.168.1.33哗咆;

server 192.168.1.44蜘欲;

}

在虛擬主機(jī)server { } 中配置益眉;

location / {

? ? root html;

? ? index index.html index.htm;

? ? proxy_pass http://zhang21(upstream名稱(chēng))郭脂;

}


在三臺(tái)后臺(tái)主機(jī)上的簡(jiǎn)單配置

配置虛擬主機(jī)server { }年碘;

server {

? ? listen 80;

? ? root /var/www;

? ? location / {

? ? ? ? fastcgi_pass? 127.0.0.1:9000;

? ? ? ? fastcgi_index? index.php;

? ? ? ? fastcgi_param? SCRIPT_FILENAME? $document_root/$fastcgi_script_name;

? ? ? ? include? ? ? ? fastcgi_params;

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市展鸡,隨后出現(xiàn)的幾起案子屿衅,更是在濱河造成了極大的恐慌,老刑警劉巖莹弊,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涤久,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡忍弛,警方通過(guò)查閱死者的電腦和手機(jī)响迂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)细疚,“玉大人蔗彤,你說(shuō)我怎么就攤上這事》杓妫” “怎么了然遏?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吧彪。 經(jīng)常有香客問(wèn)我待侵,道長(zhǎng),這世上最難降的妖魔是什么来氧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任诫给,我火速辦了婚禮,結(jié)果婚禮上啦扬,老公的妹妹穿的比我還像新娘中狂。我一直安慰自己,他們只是感情好扑毡,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布胃榕。 她就那樣靜靜地躺著,像睡著了一般瞄摊。 火紅的嫁衣襯著肌膚如雪勋又。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天换帜,我揣著相機(jī)與錄音楔壤,去河邊找鬼。 笑死惯驼,一個(gè)胖子當(dāng)著我的面吹牛蹲嚣,可吹牛的內(nèi)容都是我干的递瑰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼隙畜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抖部!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起议惰,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慎颗,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后言询,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體俯萎,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年运杭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讯屈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡县习,死狀恐怖涮母,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情躁愿,我是刑警寧澤叛本,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站彤钟,受9級(jí)特大地震影響来候,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逸雹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一营搅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梆砸,春花似錦转质、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至日矫,卻和暖如春赂弓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哪轿。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工盈魁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窃诉。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓杨耙,卻偏偏與公主長(zhǎng)得像姓惑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子按脚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 第一章 Nginx簡(jiǎn)介 Nginx是什么 沒(méi)有聽(tīng)過(guò)Nginx?那么一定聽(tīng)過(guò)它的“同行”Apache吧敦冬!Ngi...
    JokerW閱讀 32,699評(píng)論 24 1,002
  • 上一篇《WEB請(qǐng)求處理一:瀏覽器請(qǐng)求發(fā)起處理》辅搬,我們講述了瀏覽器端請(qǐng)求發(fā)起過(guò)程,通過(guò)DNS域名解析服務(wù)器IP脖旱,并建...
    七寸知架構(gòu)閱讀 81,030評(píng)論 21 356
  • ######Nginx配置文件nginx.conf中文詳解##### #定義Nginx運(yùn)行的用戶和用戶組 user...
    憶飛閱讀 776評(píng)論 0 0
  • 以下內(nèi)容來(lái)自官方文檔 http://nginx.org/en/docs/http/ngx_http_upstrea...
    再回到從前閱讀 2,688評(píng)論 0 1
  • 春節(jié)將至堪遂,各單位門(mén)前紅燈高掛,彩旗招展萌庆,雖是千篇一律溶褪,卻也烘托出年節(jié)將至的紅火,遠(yuǎn)處時(shí)時(shí)鳴響的炮聲也是添著喜氣践险。每...
    陌上紫煙閱讀 462評(píng)論 0 0