中韩高清无专码区2021曰网站_亚洲黄色成人网站_久久久久精品国产_国产区视频在线观看

×

負(fù)載均衡解決方案有哪幾種?

分類:云服務(wù)資訊 編輯:虛機(jī)世界 瀏覽量:122
2021-05-13 12:12:54
  當(dāng)一個(gè)Web系統(tǒng)從日訪問(wèn)量10萬(wàn)逐步增長(zhǎng)到1000萬(wàn),甚至超過(guò)1億的過(guò)程中,Web系統(tǒng)承受的壓力會(huì)越來(lái)越大,在這個(gè)過(guò)程中,我們會(huì)遇到很多的問(wèn)題。為了解決這些性能壓力帶來(lái)問(wèn)題,我們需要在Web系統(tǒng)架構(gòu)層面搭建多個(gè)層次的緩存機(jī)制。在不同的壓力階段,我們會(huì)遇到不同的問(wèn)題,通過(guò)搭建不同的服務(wù)和架構(gòu)來(lái)解決。今天就由新網(wǎng)小編來(lái)和大家講一講負(fù)載均衡解決方案有哪幾種?
 
  一、Web負(fù)載均衡
  Web負(fù)載均衡(Load Balancing),簡(jiǎn)單地說(shuō)就是給我們的服務(wù)器集群分配“工作任務(wù)”,而采用恰當(dāng)?shù)姆峙浞绞?,?duì)于保護(hù)處于后端的Web服務(wù)器來(lái)說(shuō),非常重要。
  二、HTTP重定向
  當(dāng)用戶發(fā)來(lái)請(qǐng)求的時(shí)候,Web服務(wù)器通過(guò)修改HTTP響應(yīng)頭中的Location標(biāo)記來(lái)返回一個(gè)新的url,然后瀏覽器再繼續(xù)請(qǐng)求這個(gè)新url,實(shí)際上就是頁(yè)面重定向。通過(guò)重定向,來(lái)達(dá)到“負(fù)載均衡”的目標(biāo)。例如,我們?cè)谙螺dPHP源碼包的時(shí)候,點(diǎn)擊下載鏈接時(shí),為了解決不同國(guó)家和地域下載速度的問(wèn)題,它會(huì)返回一個(gè)離我們近的下載地址。重定向的HTTP返回碼是302。
  這個(gè)重定向非常容易實(shí)現(xiàn),并且可以自定義各種策略。但是,它在大規(guī)模訪問(wèn)量下,性能不佳。而且,給用戶的體驗(yàn)也不好,實(shí)際請(qǐng)求發(fā)生重定向,增加了網(wǎng)絡(luò)延時(shí)。
  三、反向代理負(fù)載均衡
  反向代理服務(wù)的核心工作主要是轉(zhuǎn)發(fā)HTTP請(qǐng)求,扮演了瀏覽器端和后臺(tái)Web服務(wù)器中轉(zhuǎn)的角色。因?yàn)樗ぷ髟贖TTP層(應(yīng)用層),也就是網(wǎng)絡(luò)七層結(jié)構(gòu)中的第七層,因此也被稱為“七層負(fù)載均衡”??梢宰龇聪虼淼能浖芏啵容^常見(jiàn)的一種是Nginx。

  Nginx是一種非常靈活的反向代理軟件,可以自由定制化轉(zhuǎn)發(fā)策略,分配服務(wù)器流量的權(quán)重等。反向代理中,常見(jiàn)的一個(gè)問(wèn)題,就是Web服務(wù)器存儲(chǔ)的session數(shù)據(jù),因?yàn)橐话阖?fù)載均衡的策略都是隨機(jī)分配請(qǐng)求的。同一個(gè)登錄用戶的請(qǐng)求,無(wú)法保證一定分配到相同的Web機(jī)器上,會(huì)導(dǎo)致無(wú)法找到session的問(wèn)題。


  解決方案主要有兩種:
  配置反向代理的轉(zhuǎn)發(fā)規(guī)則,讓同一個(gè)用戶的請(qǐng)求一定落到同一臺(tái)機(jī)器上(通過(guò)分析cookie),復(fù)雜的轉(zhuǎn)發(fā)規(guī)則將會(huì)消耗更多的CPU,也增加了代理服務(wù)器的負(fù)擔(dān)。
  將session這類的信息,專門用某個(gè)獨(dú)立服務(wù)來(lái)存儲(chǔ),例如redis/memchache,這個(gè)方案是比較推薦的。
  反向代理服務(wù),也是可以開(kāi)啟緩存的,如果開(kāi)啟了,會(huì)增加反向代理的負(fù)擔(dān),需要謹(jǐn)慎使用。這種負(fù)載均衡策略實(shí)現(xiàn)和部署非常簡(jiǎn)單,而且性能表現(xiàn)也比較好。但是,它有“單點(diǎn)故障”的問(wèn)題,如果掛了,會(huì)帶來(lái)很多的麻煩。而且,到了后期Web服務(wù)器繼續(xù)增加,它本身可能成為系統(tǒng)的瓶頸。
 
  四、IP負(fù)載均衡
  IP負(fù)載均衡服務(wù)是工作在網(wǎng)絡(luò)層(修改IP)和傳輸層(修改端口,第四層),比起工作在應(yīng)用層(第七層)性能要高出非常多。原理是,他是對(duì)IP層的數(shù)據(jù)包的IP地址和端口信息進(jìn)行修改,達(dá)到負(fù)載均衡的目的。這種方式,也被稱為“四層負(fù)載均衡”。常見(jiàn)的負(fù)載均衡方式,是LVS(Linux Virtual Server,Linux虛擬服務(wù)),通過(guò)IPVS(IP Virtual Server,IP虛擬服務(wù))來(lái)實(shí)現(xiàn)。

  在負(fù)載均衡服務(wù)器收到客戶端的IP包的時(shí)候,會(huì)修改IP包的目標(biāo)IP地址或端口,然后原封不動(dòng)地投遞到內(nèi)部網(wǎng)絡(luò)中,數(shù)據(jù)包會(huì)流入到實(shí)際Web服務(wù)器。實(shí)際服務(wù)器處理完成后,又會(huì)將數(shù)據(jù)包投遞回給負(fù)載均衡服務(wù)器,它再修改目標(biāo)IP地址為用戶IP地址,最終回到客戶端。


  上述的方式叫LVS-NAT,除此之外,還有LVS-RD(直接路由),LVS-TUN(IP隧道),三者之間都屬于LVS的方式,但是有一定的區(qū)別,篇幅問(wèn)題,不贅敘。

  IP負(fù)載均衡的性能要高出Nginx的反向代理很多,它只處理到傳輸層為止的數(shù)據(jù)包,并不做進(jìn)一步的組包,然后直接轉(zhuǎn)發(fā)給實(shí)際服務(wù)器。不過(guò),它的配置和搭建比較復(fù)雜。


  五、DNS負(fù)載均衡
  DNS(Domain Name System)負(fù)責(zé)域名解析的服務(wù),域名url實(shí)際上是服務(wù)器的別名,實(shí)際映射是一個(gè)IP地址,解析過(guò)程,就是DNS完成域名到IP的映射。而一個(gè)域名是可以配置成對(duì)應(yīng)多個(gè)IP的。因此,DNS也就可以作為負(fù)載均衡服務(wù)。
  這種負(fù)載均衡策略,配置簡(jiǎn)單,性能極佳。但是,不能自由定義規(guī)則,而且,變更被映射的IP或者機(jī)器故障時(shí)很麻煩,還存在DNS生效延遲的問(wèn)題。
  六、DNS/GSLB負(fù)載均衡

  我們常用的CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))實(shí)現(xiàn)方式,其實(shí)就是在同一個(gè)域名映射為多IP的基礎(chǔ)上更進(jìn)一步,通過(guò)GSLB(Global Server Load Balance,全局負(fù)載均衡)按照指定規(guī)則映射域名的IP。一般情況下都是按照地理位置,將離用戶近的IP返回給用戶,減少網(wǎng)絡(luò)傳輸中的路由節(jié)點(diǎn)之間的跳躍消耗。


  圖中的“向上尋找”,實(shí)際過(guò)程是LDNS(Local DNS)先向根域名服務(wù)(Root Name Server)獲取到頂級(jí)根的Name Server(例如.com的),然后得到指定域名的授權(quán)DNS,然后再獲得實(shí)際服務(wù)器IP。


  CDN在Web系統(tǒng)中,一般情況下是用來(lái)解決大小較大的靜態(tài)資源(html/Js/Css/圖片等)的加載問(wèn)題,讓這些比較依賴網(wǎng)絡(luò)下載的內(nèi)容,盡可能離用戶更近,提升用戶體驗(yàn)。


  例如,我訪問(wèn)了一張imgcache.gtimg.cn上的圖片(騰訊的自建CDN,不使用qq.com域名的原因是防止http請(qǐng)求的時(shí)候,帶上了多余的cookie信息),我獲得的IP是183.60.217.90。


  這種方式,和前面的DNS負(fù)載均衡一樣,不僅性能極佳,而且支持配置多種策略。但是,搭建和維護(hù)成本非常高。互聯(lián)網(wǎng)一線公司,會(huì)自建CDN服務(wù),中小型公司一般使用第三方提供的CDN。小伙伴們要想獲得更多負(fù)載均衡解決方案的內(nèi)容,請(qǐng)關(guān)注新網(wǎng)!


聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)

送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)

需注明出處:新網(wǎng)idc知識(shí)百科

免費(fèi)咨詢獲取折扣

Loading