??當一個(gè)Web系統從日訪(fǎng)問(wèn)量10萬(wàn)逐步增長(cháng)到1000萬(wàn),甚至超過(guò)1億的過(guò)程中,Web系統承受的壓力會(huì )越來(lái)越大,在這個(gè)過(guò)程中,我們會(huì )遇到很多的問(wèn)題。為了解決這些性能壓力帶來(lái)問(wèn)題,我們需要在Web系統架構層面搭建多個(gè)層次的緩存機制。在不同的壓力階段,我們會(huì )遇到不同的問(wèn)題,通過(guò)搭建不同的服務(wù)和架構來(lái)解決。今天就由小編來(lái)和大家講一講負載均衡解決方案有哪幾種?
??一、Web負載均衡
??Web負載均衡(Load Balancing),簡(jiǎn)單地說(shuō)就是給我們的服務(wù)器集群分配“工作任務(wù)”,而采用恰當的分配方式,對于保護處于后端的Web服務(wù)器來(lái)說(shuō),非常重要。
??二、HTTP重定向
??當用戶(hù)發(fā)來(lái)請求的時(shí)候,Web服務(wù)器通過(guò)修改HTTP響應頭中的Location標記來(lái)返回一個(gè)新的url,然后瀏覽器再繼續請求這個(gè)新url,實(shí)際上就是頁(yè)面重定向。通過(guò)重定向,來(lái)達到“負載均衡”的目標。例如,我們在下載PHP源碼包的時(shí)候,點(diǎn)擊下載鏈接時(shí),為了解決不同國家和地域下載速度的問(wèn)題,它會(huì )返回一個(gè)離我們近的下載地址。重定向的HTTP返回碼是302。
??這個(gè)重定向非常容易實(shí)現,并且可以自定義各種策略。但是,它在大規模訪(fǎng)問(wèn)量下,性能不佳。而且,給用戶(hù)的體驗也不好,實(shí)際請求發(fā)生重定向,增加了網(wǎng)絡(luò )延時(shí)。
??三、反向代理負載均衡
??反向代理服務(wù)的核心工作主要是轉發(fā)HTTP請求,扮演了瀏覽器端和后臺Web服務(wù)器中轉的角色。因為它工作在HTTP層(應用層),也就是網(wǎng)絡(luò )七層結構中的第七層,因此也被稱(chēng)為“七層負載均衡”??梢宰龇聪虼淼能浖芏?,比較常見(jiàn)的一種是Nginx。
??Nginx是一種非常靈活的反向代理軟件,可以自由定制化轉發(fā)策略,分配服務(wù)器流量的權重等。反向代理中,常見(jiàn)的一個(gè)問(wèn)題,就是Web服務(wù)器存儲的session數據,因為一般負載均衡的策略都是隨機分配請求的。同一個(gè)登錄用戶(hù)的請求,無(wú)法保證一定分配到相同的Web機器上,會(huì )導致無(wú)法找到session的問(wèn)題。
??在負載均衡服務(wù)器收到客戶(hù)端的IP包的時(shí)候,會(huì )修改IP包的目標IP地址或端口,然后原封不動(dòng)地投遞到內部網(wǎng)絡(luò )中,數據包會(huì )流入到實(shí)際Web服務(wù)器。實(shí)際服務(wù)器處理完成后,又會(huì )將數據包投遞回給負載均衡服務(wù)器,它再修改目標IP地址為用戶(hù)IP地址,最終回到客戶(hù)端。
??IP負載均衡的性能要高出Nginx的反向代理很多,它只處理到傳輸層為止的數據包,并不做進(jìn)一步的組包,然后直接轉發(fā)給實(shí)際服務(wù)器。不過(guò),它的配置和搭建比較復雜。
??我們常用的cdn/' target='_blank'>CDN(Content Delivery Network,內容分發(fā)網(wǎng)絡(luò ))實(shí)現方式,其實(shí)就是在同一個(gè)域名映射為多IP的基礎上更進(jìn)一步,通過(guò)GSLB(Global Server Load Balance,全局負載均衡)按照指定規則映射域名的IP。一般情況下都是按照地理位置,將離用戶(hù)近的IP返回給用戶(hù),減少網(wǎng)絡(luò )傳輸中的路由節點(diǎn)之間的跳躍消耗。
??圖中的“向上尋找”,實(shí)際過(guò)程是LDNS(Local DNS)先向根(Root Name Server)獲取到頂級根的Name Server(例如.com的),然后得到指定域名的授權DNS,然后再獲得實(shí)際服務(wù)器IP。
??CDN在Web系統中,一般情況下是用來(lái)解決大小較大的靜態(tài)資源(html/Js/Css/圖片等)的加載問(wèn)題,讓這些比較依賴(lài)網(wǎng)絡(luò )下載的內容,盡可能離用戶(hù)更近,提升用戶(hù)體驗。
??例如,我訪(fǎng)問(wèn)了一張imgcache.gtimg上的圖片(騰訊的自建CDN,不使用qq.的原因是防止http請求的時(shí)候,帶上了多余的cookie信息),我獲得的IP是183.60.217.90。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站