大流量網(wǎng)站如何應(yīng)對(duì)WEB2.0流量挑戰(zhàn)
大流量網(wǎng)站如何應(yīng)對(duì)WEB2.0流量挑戰(zhàn)
:WEB2.0時(shí)代,網(wǎng)絡(luò)流量越來越大,這給大規(guī)模并發(fā)訪問的網(wǎng)站造成了網(wǎng)絡(luò)訪問流量瓶頸的嚴(yán)重問題,如何才能解決這個(gè)流量瓶頸?讓我們深入到一個(gè)具體的網(wǎng)站企業(yè)中去……
互聯(lián)網(wǎng)在日常生活中日益深入的應(yīng)用,使得互聯(lián)網(wǎng)、移動(dòng)網(wǎng)絡(luò)等越來越成為人們低成本率獲取信息的平臺(tái),各個(gè)網(wǎng)站企業(yè)因而也順勢(shì)搭上了強(qiáng)勁成長的潮流。隨著各站點(diǎn)訪問量和信息交流量的迅猛增長,如何使用最小的資源成本,提高網(wǎng)絡(luò)的效率,化用戶體驗(yàn),已經(jīng)成為網(wǎng)絡(luò)管理人員不得不面對(duì)的挑戰(zhàn)。
WEB2.0的挑戰(zhàn):流量壓力越來越大
現(xiàn)在的網(wǎng)站平臺(tái)越來越多了,例如像新浪、SOHU這樣的綜合新聞網(wǎng)站,淘寶網(wǎng)、阿里巴巴這樣的電子商務(wù)網(wǎng)站,還有像網(wǎng)銀在線等第三方電子支付網(wǎng)站,以及像籬笆網(wǎng)這樣的購物網(wǎng)站等。我們會(huì)發(fā)現(xiàn),基本上所有的網(wǎng)站都涉及到一種技術(shù):WEB2.0,WEB2.0嚴(yán)格意義上不是單一的技術(shù),是一大堆的技術(shù),或者是一種WEB設(shè)計(jì)理念的改變。
WEB2.0的出現(xiàn),讓網(wǎng)站們?cè)诰W(wǎng)絡(luò)訪問方面出現(xiàn)了新的特點(diǎn)。對(duì)此,Array Networks市場(chǎng)總監(jiān)陳凱先生將其總結(jié)為兩點(diǎn):
一是,網(wǎng)站內(nèi)容變成海量的內(nèi)容。
以前一個(gè)網(wǎng)站可能是幾百個(gè)G差不多了,但是現(xiàn)在不一樣,現(xiàn)在一個(gè)使用WEB2.0技術(shù)的網(wǎng)站,內(nèi)容可能變成一個(gè)幾個(gè)T、幾十個(gè)T甚至更多。內(nèi)容的海量,給網(wǎng)絡(luò)訪問帶來了很多問題。
第二個(gè)特點(diǎn)是用戶訪問、交互性更強(qiáng)。
我們以前上一個(gè)網(wǎng)站,輸入域名,看到這個(gè)網(wǎng)頁,輸入域名按回車,那時(shí)候有一些交互,內(nèi)容拿下來是存在本地頁面的內(nèi)容,點(diǎn)擊后才向后臺(tái)輸送新的內(nèi)容出來。WEB2.0不一樣,不斷有一些交互性的內(nèi)容,特別是動(dòng)態(tài)變化內(nèi)容,比如你看到一個(gè)股市變化行情的頁面的時(shí)候,發(fā)現(xiàn)老是在變,行情老是在變,圖線經(jīng)常會(huì)變化,隨著實(shí)時(shí)的行情,這是利用了WEB2.0很多技術(shù)在里面,而這種應(yīng)用的特點(diǎn),帶來的是網(wǎng)絡(luò)流量增大了,給后臺(tái)服務(wù)器的壓力變大了。
用戶抱怨:網(wǎng)絡(luò)訪問速度慢
網(wǎng)絡(luò)流量壓力的增大,在不同程度上對(duì)各網(wǎng)站們帶來了挑戰(zhàn)。很多網(wǎng)站都因?yàn)榫W(wǎng)絡(luò)流量壓力大,出現(xiàn)了網(wǎng)絡(luò)訪問速度慢等問題,這給不少網(wǎng)站的關(guān)鍵業(yè)務(wù)帶來了困難。
讓我們把目光鎖定在籬笆網(wǎng)(liba.com)這一家購物網(wǎng)的身上;h笆網(wǎng)(liba.com)原名無憂團(tuán)購網(wǎng)(51tuangou.com)),創(chuàng)立于03年,專注于年輕家庭的生活消費(fèi)指導(dǎo)與交易服務(wù);h笆網(wǎng)現(xiàn)已成功地為8萬多年輕家庭提供了裝修、婚慶、汽車等服務(wù);籬笆社區(qū)也已經(jīng)成為中國影響力的家庭生活消費(fèi)交流社區(qū),注冊(cè)用戶目前已達(dá)140多萬,日瀏覽量超過1000萬次,涵蓋14類生活消費(fèi)行業(yè)。
隨著籬笆網(wǎng)規(guī)模的擴(kuò)大,注冊(cè)用戶的增多,籬笆網(wǎng)對(duì)網(wǎng)絡(luò)訪問的需求也大大增加,有的時(shí)候,經(jīng)常出現(xiàn)網(wǎng)絡(luò)訪問速度慢的問題,這造成了不少用戶的抱怨。
為了解決訪問速度慢問題,籬笆網(wǎng)的網(wǎng)絡(luò)工程師開始追查問題,經(jīng)調(diào)查得出原因:
隨著網(wǎng)站應(yīng)用用戶的增多和系統(tǒng)應(yīng)用負(fù)載的增大,各個(gè)應(yīng)用服務(wù)器,特別是前置服務(wù)器上所要處理的數(shù)據(jù)量將增大,從而影響針對(duì)使用者的響應(yīng)效率,造成對(duì)訪問者的請(qǐng)求回應(yīng)越來越慢等嚴(yán)重影響網(wǎng)站應(yīng)用服務(wù)質(zhì)量的現(xiàn)象。在服務(wù)器端則直接表現(xiàn)為可容納的連接數(shù)越來越小,系統(tǒng)性能嚴(yán)重下降。
常規(guī)負(fù)載均衡辦法受阻
大家都知道,要解決網(wǎng)站大流量壓力的問題,是通過負(fù)載均衡的辦法來解決,當(dāng)然,籬笆網(wǎng)的工程師也想到了這一點(diǎn)。
于是,他們展開以下的行動(dòng):
一方面,籬笆網(wǎng)設(shè)立了兩個(gè)機(jī)房數(shù)據(jù)中心:吳江機(jī)房、蘇州雙線機(jī)房。通過兩個(gè)數(shù)據(jù)中心來分擔(dān)數(shù)據(jù)訪問壓力,在兩個(gè)機(jī)房之間,通過軟件配置的DNS負(fù)載均衡來解決兩者的工作協(xié)同問題。
另一方面,籬笆網(wǎng)為了加速網(wǎng)站的訪問速度,采用了Cache技術(shù)。 籬笆網(wǎng)另外購買了多臺(tái)服務(wù)器,并且通過Squid Cache這種開源技術(shù),將這幾臺(tái)服務(wù)器配置成機(jī)房數(shù)據(jù)中心的Squid Cache服務(wù)器,從而加速網(wǎng)絡(luò)訪問速度。
當(dāng)此方案實(shí)施后,起了一定的效果。但沒過多久,網(wǎng)絡(luò)訪問速度依然很慢。這是什么原因呢?
據(jù)Array Networks市場(chǎng)總監(jiān)陳凱介紹到:籬笆網(wǎng)之所以出現(xiàn)這樣的問題,主要是因?yàn)橐话愕能浖?fù)載均衡并不能解決真正的大流量壓力問題。
軟DNS負(fù)載均衡無力
其中,DNS負(fù)載均衡由于是軟件編寫的DNS,無法保證網(wǎng)站機(jī)房的高可用性:由于DNS無法實(shí)現(xiàn)對(duì)IDC站點(diǎn)和應(yīng)用內(nèi)容的健康檢查,所以當(dāng)某個(gè)IDC的鏈路或IDC內(nèi)的應(yīng)用出現(xiàn)故障時(shí),DNS軟件無法得知IDC的狀況,仍然會(huì)把用戶請(qǐng)求發(fā)送到該IDC去,從而導(dǎo)致部分用戶出現(xiàn)訪問不到頁面的狀況。如此,籬笆網(wǎng)無法真正實(shí)現(xiàn)吳江機(jī)房、蘇州雙線機(jī)房兩個(gè)機(jī)房的廣域網(wǎng)負(fù)載均衡。
Squid Cache服務(wù)器效果不佳
另外,當(dāng)使用Squid服務(wù)器做Cache服務(wù)時(shí),每臺(tái)服務(wù)器緩存的內(nèi)容都是一樣的,這樣造成了緩存的浪費(fèi),不利于提高服務(wù)器的使用效率。如果能夠根據(jù)用戶的訪問,在每臺(tái)服務(wù)器上分別緩存不同的內(nèi)容,則可緩存的內(nèi)容數(shù)量會(huì)大大增加,同時(shí)使用N+1或N+M的方式來進(jìn)行容災(zāi),會(huì)大大提高工作效率,同時(shí)也能極大提高業(yè)務(wù)應(yīng)用的可靠性。
硬件專業(yè)負(fù)載均衡 才是良藥?
在常規(guī)負(fù)載均衡解決不的情況下,籬笆網(wǎng)只好求助于專業(yè)的負(fù)載均衡設(shè)備供應(yīng)商。在這種情況下,Array Networks向籬笆網(wǎng)提供了綜合的負(fù)載均衡解決方案。
籬笆網(wǎng)采用Array Networks TMX產(chǎn)品完成對(duì)內(nèi)部系統(tǒng)的應(yīng)用加速和高可靠性保障,通過Array Networks TMX的服務(wù)器負(fù)載均衡功能實(shí)現(xiàn)對(duì)后臺(tái)21臺(tái)搜索服務(wù)器的負(fù)載均衡;通過應(yīng)用Array Networks TMX產(chǎn)品中豐富的SLB算法、連接復(fù)用技術(shù)和Cache功能能夠幫助用戶提高響應(yīng)速度和高可用性。
如上圖所示,Array Networks為籬笆網(wǎng)提供的廣域網(wǎng)WEB應(yīng)用加速服務(wù)器負(fù)載解決方案,一共采用兩臺(tái)TMX配置,確保服務(wù)的高可用性。
TMX根據(jù)負(fù)載情況決定將流量分擔(dān)到哪一臺(tái)服務(wù)器,保障每個(gè)用戶的請(qǐng)求都能獲得的響應(yīng)質(zhì)量。如果任何一臺(tái)服務(wù)器出現(xiàn)故障時(shí),Array TMX的智能健康檢測(cè)機(jī)制都可以隨時(shí)了解到相關(guān)狀況,在處理后續(xù)的流量時(shí),將不會(huì)再向有故障的服務(wù)器發(fā)送用戶請(qǐng)求,這一切對(duì)用戶都是透明的,用戶不會(huì)因此受到任何影響。
四大網(wǎng)站流量問題被解決
籬笆網(wǎng)通過部署Array Networks TMX負(fù)載均衡解決方案之后,一下解決了其原有的各種問題,總結(jié)起來,主要表現(xiàn)為以下幾個(gè)方面:
1、實(shí)現(xiàn)了吳江機(jī)房、蘇州雙線機(jī)房有效負(fù)載均衡
通過TMX的GSLB廣域網(wǎng)負(fù)載均衡功能和高性能,對(duì)客戶請(qǐng)求快速響應(yīng)并合理分配到蘇州和吳江兩個(gè)站點(diǎn)進(jìn)行響應(yīng)。
2、本地服務(wù)器群的負(fù)載均衡
TMX的SLB服務(wù)器負(fù)載均衡技術(shù)實(shí)現(xiàn)本地多臺(tái)服務(wù)器流量的負(fù)載均衡,TMX可以智能尋找服務(wù)器從而保證客戶得到響應(yīng)最快服務(wù)器所提供的服務(wù),提高網(wǎng)站的高可靠性、響應(yīng)能力。
3、Squid Cache 效果不佳問題
TMX通過Hase URL算法實(shí)現(xiàn)將不同的內(nèi)容的訪問分發(fā)到不同的Squid上面,將不同的內(nèi)容Cache到不同Squid服務(wù)器上面 ,充分利用Squid的cache能力,充分發(fā)揮每一臺(tái)Squid服務(wù)器的效能,進(jìn)而提高用戶訪問的響應(yīng)速度。
4、優(yōu)化了網(wǎng)絡(luò)訪問方式
TMX采用連接復(fù)用技術(shù)、Cache 技術(shù)對(duì)于某些頁面可以達(dá)到提高80%的HTTP響應(yīng)能力,極大提高單臺(tái)服務(wù)器的響應(yīng)連接數(shù)量,顯著提高用戶的WEB訪問速度。