亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解讀nginx負(fù)載均衡的5種策略

瀏覽:8日期:2023-07-22 19:56:51
目錄nginx負(fù)載均衡的5種策略1、輪詢(默認(rèn))2、weight3、ip_hash4、fair(第三方)5、url_hash(第三方)負(fù)載均衡的五種策略負(fù)載均衡實(shí)現(xiàn)的方法HTTP重定向負(fù)載均衡DNS域名解析負(fù)載均衡反向代理負(fù)載均衡網(wǎng)絡(luò)層負(fù)載均衡總結(jié)nginx負(fù)載均衡的5種策略

要理解負(fù)載均衡,必須先搞清楚正向代理和反向代理。

負(fù)載均衡的幾種常用方式

1、輪詢(默認(rèn))

每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。

upstream backserver { server 192.168.0.14; server 192.168.0.15;}2、weight

指定輪詢幾率,weight和訪問(wèn)比率成正比,用于后端服務(wù)器性能不均的情況。

upstream backserver { server 192.168.0.14 weight=3; server 192.168.0.15 weight=7;}

權(quán)重越高,在被訪問(wèn)的概率越大,如上例,分別是30%,70%。

3、ip_hash

上述方式存在一個(gè)問(wèn)題就是說(shuō),在負(fù)載均衡系統(tǒng)中,假如用戶在某臺(tái)服務(wù)器上登錄了,那么該用戶第二次請(qǐng)求的時(shí)候,因?yàn)槲覀兪秦?fù)載均衡系統(tǒng),每次請(qǐng)求都會(huì)重新定位到服務(wù)器集群中的某一個(gè),那么已經(jīng)登錄某一個(gè)服務(wù)器的用戶再重新定位到另一個(gè)服務(wù)器,其登錄信息將會(huì)丟失,這樣顯然是不妥的。

我們可以采用ip_hash指令解決這個(gè)問(wèn)題,如果客戶已經(jīng)訪問(wèn)了某個(gè)服務(wù)器,當(dāng)用戶再次訪問(wèn)時(shí),會(huì)將該請(qǐng)求通過(guò)哈希算法,自動(dòng)定位到該服務(wù)器。

每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決session的問(wèn)題。

upstream backserver { ip_hash; server 192.168.0.14:88; server 192.168.0.15:80;}4、fair(第三方)

按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。

upstream backserver { server server1; server server2; fair;}5、url_hash(第三方)

按訪問(wèn)url的hash結(jié)果來(lái)分配請(qǐng)求,使每個(gè)url定向到同一個(gè)(對(duì)應(yīng)的)后端服務(wù)器,后端服務(wù)器為緩存時(shí)比較有效。

upstream backserver { server squid1:3128; server squid2:3128; hash $request_uri; hash_method crc32;}

在需要使用負(fù)載均衡的server中增加

proxy_pass http://backserver/; upstream backserver{ ip_hash; server 127.0.0.1:9090 down; (down 表示單前的server暫時(shí)不參與負(fù)載) server 127.0.0.1:8080 weight=2; (weight 默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大) server 127.0.0.1:6060; server 127.0.0.1:7070 backup; (其它所有的非backup機(jī)器down或者忙的時(shí)候,請(qǐng)求backup機(jī)器) }

max_fails :允許請(qǐng)求失敗的次數(shù)默認(rèn)為

1.當(dāng)超過(guò)最大次數(shù)時(shí),返回proxy_next_upstream 模塊定義的錯(cuò)誤

fail_timeout:max_fails次失敗后,暫停的時(shí)間

配置實(shí)例:

#user nobody;worker_processes 4;events {# 最大并發(fā)數(shù)worker_connections 1024;}http{ # 待選服務(wù)器列表 upstream myproject{# ip_hash指令,將同一用戶引入同一服務(wù)器。ip_hash;server 125.219.42.4 fail_timeout=60s;server 172.31.2.183; } server{# 監(jiān)聽(tīng)端口listen 80;# 根目錄下location / {# 選擇哪個(gè)服務(wù)器列表 proxy_pass http://myproject;} }}

負(fù)載均衡的五種策略是什么?

實(shí)行負(fù)載均衡的目的就是讓請(qǐng)求到達(dá)不同的服務(wù)器上。一次請(qǐng)求到服務(wù)器之間,有那么多環(huán)節(jié),因此可以實(shí)現(xiàn)的方法也有很多種。

負(fù)載均衡的五種策略

1、輪詢(默認(rèn))每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。

2、指定權(quán)重,指定輪詢幾率,weight和訪問(wèn)比率成正比,用于后端服務(wù)器性能不均的情況。

3、IP綁定 ip_hash,每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決session的問(wèn)題。

4、fair(第三方)按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。

5、url_hash(第三方)按訪問(wèn)url的hash結(jié)果來(lái)分配請(qǐng)求,使每個(gè)url定向到同一個(gè)后端服務(wù)器,后端服務(wù)器為緩存時(shí)比較有效。

負(fù)載均衡實(shí)現(xiàn)的方法HTTP重定向負(fù)載均衡

HTTP重定向負(fù)載均衡有一臺(tái)重定向服務(wù)器,它也是一臺(tái)普通的服務(wù)器,其唯一的功能就是根據(jù)用戶的HTTP請(qǐng)求計(jì)算一臺(tái)應(yīng)用集群中服務(wù)器的地址,并將此地址寫(xiě)入HTTP重定向響應(yīng)中返回給用戶。

這種方案實(shí)現(xiàn)起來(lái)簡(jiǎn)單,但是需要瀏覽器請(qǐng)求兩次服務(wù)器才能完成。并且重定向服務(wù)器很容易編程瓶頸,因?yàn)橐淮沃囟ㄏ蚍祷氐倪^(guò)程,也是一次標(biāo)準(zhǔn)HTTP請(qǐng)求,如果集群內(nèi)有10臺(tái)機(jī)器,那HTTP重定向服務(wù)器的流量將是應(yīng)用服務(wù)器的10倍,如果有100臺(tái)估計(jì)就宕機(jī)了,所以伸縮性能受到了很大限制。使用302響應(yīng)碼重定向不利于網(wǎng)站SEO。

DNS域名解析負(fù)載均衡

這是利用DNS處理域名解析請(qǐng)求的同時(shí)進(jìn)行負(fù)載均衡處理的一種方案。在DNS中配置多個(gè)A記錄,每次域名解析請(qǐng)求都會(huì)根據(jù)負(fù)載均衡算法計(jì)算一個(gè)不同的IP地址返回。

DNS域名解析負(fù)載均衡的優(yōu)點(diǎn)是將負(fù)載均衡的工作轉(zhuǎn)交給DNS,省掉了網(wǎng)站管理維護(hù)負(fù)載均衡服務(wù)器的麻煩,同時(shí)還可以使用智能DNS可以基于地理位置或者ISP來(lái)做域名解析,用戶將會(huì)得到距離最近或者速度最快的一個(gè)服務(wù)器地址,這樣可以加快用戶的訪問(wèn)速度,改善性能。

但是這種方法也有很大的缺點(diǎn),DNS是多級(jí)解析,每一級(jí)都會(huì)緩存DNS記錄,如果某個(gè)服務(wù)器變動(dòng)了,DNS記錄更新的時(shí)間將會(huì)很長(zhǎng),這個(gè)速度取決于域名服務(wù)商。一般大型網(wǎng)站都會(huì)使用DNS域名解析,利用域名解析作為一級(jí)負(fù)載均衡手段。你可以使用 dig <域名> 的方法查看某個(gè)域名的A記錄,你會(huì)發(fā)現(xiàn)很多網(wǎng)站會(huì)有多條A記錄。

反向代理負(fù)載均衡

這種方法就是使用反向代理服務(wù)器,它一般在web服務(wù)器前面,這個(gè)位置也正好是負(fù)載均衡服務(wù)器的位置,所以大多數(shù)反向代理服務(wù)器同時(shí)也提供負(fù)載均衡的功能。由于web服務(wù)器不直接對(duì)外提供訪問(wèn),因此web服務(wù)器不需要使用外部IP,而反向代理服務(wù)器則需要配置雙網(wǎng)卡和內(nèi)部外部?jī)商譏P地址。

反向代理服務(wù)器轉(zhuǎn)發(fā)請(qǐng)求是在HTTP協(xié)議層面,因此也叫應(yīng)用層負(fù)載均衡,由于應(yīng)用層在七層網(wǎng)絡(luò)模型中的第七層,所以一般也稱為七層負(fù)載均衡。優(yōu)點(diǎn)就是和反向代理功服務(wù)器功能集成在一起,部署簡(jiǎn)單。缺點(diǎn)是反向代理服務(wù)器是所有請(qǐng)求和響應(yīng)的中轉(zhuǎn)站,其性能可能會(huì)成為瓶頸。

網(wǎng)絡(luò)層負(fù)載均衡

這種方法是在網(wǎng)絡(luò)層通過(guò)修改請(qǐng)求目標(biāo)地址進(jìn)行負(fù)載均衡,網(wǎng)絡(luò)層在七層網(wǎng)絡(luò)層模型的第四層,所以也叫做四層負(fù)載均衡,也叫做IP層負(fù)載均衡。

請(qǐng)求達(dá)到負(fù)載均衡服務(wù)器后,由負(fù)載均衡服務(wù)器在操作系統(tǒng)內(nèi)核進(jìn)程獲取網(wǎng)絡(luò)數(shù)據(jù)包,根據(jù)負(fù)載均衡算法得到一臺(tái)真實(shí)web服務(wù)器的地址,然后修改請(qǐng)求的目的地址到這臺(tái)真實(shí)的web服務(wù)器地址,等到web服務(wù)器處理完成后,響應(yīng)數(shù)據(jù)包回到負(fù)載均衡服務(wù)器,再將數(shù)據(jù)包源地址修改為自身的IP(負(fù)載均衡服務(wù)器的IP)地址發(fā)送給用戶瀏覽器

這里關(guān)鍵在于真實(shí)無(wú)力web服務(wù)器響應(yīng)數(shù)據(jù)包如何返回給負(fù)載均衡服務(wù)器。一種是源地址轉(zhuǎn)換(SNAT),第二種是負(fù)載均衡服務(wù)器作為網(wǎng)關(guān)服務(wù)器。網(wǎng)絡(luò)層的負(fù)載均衡在內(nèi)核進(jìn)程完成數(shù)據(jù)轉(zhuǎn)發(fā),有更好的性能。但是由于響應(yīng)請(qǐng)求的流量要經(jīng)過(guò)負(fù)載均衡服務(wù)器,容易成為瓶頸。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Nginx
相關(guān)文章:
主站蜘蛛池模板: 国产婷婷丁香久久综合 | 日韩 欧美 亚洲国产 | 欧美黄色高清视频 | 亚在线| 国产一级毛片视频 | 在线视频免费观看a毛片 | 狠狠色欧美亚洲狠狠色五 | 黄色天天影视 | 黄色大片视频网站 | 黄色毛片视频校园交易 | 亚洲一二三区在线观看 | 亚洲精品国产男人的天堂 | 免费一级特黄视频 | 国产 欧美 日韩在线 | 亚洲精品综合一区二区三区在线 | 国产亚洲精品福利在线 | 亚洲麻豆精品 | 人成免费a级毛片 | 亚洲图色网站 | 有色影院| 奇米影视亚洲狠狠色 | 午夜亚洲国产成人不卡在线 | 国产精品福利在线观看秒播 | 中国一级性生活片 | 黄色激情网址 | 亚洲精品午夜级久久久久 | 又大又紧又硬又湿a视频 | 任我爽在线视频精品凹凸精品分类 | 国产小视频在线观看 | 老司机美女一级毛片 | 欧美另类亚洲一区二区 | 国产精品不卡在线观看 | aabb片免费看 | 亚洲第一综合色 | 一区二区三区四区在线 | 亚洲欧美视频在线 | 国产精品亚洲高清一区二区 | 一级特黄色毛片免费看 | 国产黄拍 | 一级毛毛片毛片毛片毛片在线看 | 一 级 黄 色蝶 片 |