大中型網(wǎng)站架構(gòu)探秘 |
發(fā)布時(shí)間:2019-05-28 文章來源:本站 瀏覽次數(shù):2956 |
相信許多IT人士都有過建立自己主頁的經(jīng)歷,10多年前的個(gè)人主頁都十分簡(jiǎn)略,許多由Frontpage構(gòu)建,多歸于靜態(tài)HTML頁面,最多加一點(diǎn)特效罷了。不過10年間,技能的前進(jìn)是驚人的。現(xiàn)在,一個(gè)網(wǎng)站絕不可能僅僅由幾個(gè)HTML頁面構(gòu)成。 負(fù)載均衡: 負(fù)載均衡是所有大中型網(wǎng)站必備的部署。顯然,大型網(wǎng)站每天上千萬獨(dú)立IP的拜訪量,一個(gè)Web服務(wù)器底子承擔(dān)不了,網(wǎng)站后臺(tái)必需有多臺(tái)服務(wù)器共同作業(yè),因而各種負(fù)載均衡技能就應(yīng)運(yùn)而生了。 較早的負(fù)載均衡是DNS負(fù)載均衡。原理很簡(jiǎn)略,只需在域名解析的時(shí)分,將多個(gè)地址裝備成同一個(gè)域名,負(fù)載均衡就完成了。不同用戶點(diǎn)擊同一個(gè)域名的時(shí)分,實(shí)踐上只解析給用戶一個(gè)地址,這樣用戶實(shí)踐上拜訪的是不同的Web服務(wù)器,就減輕了每個(gè)服務(wù)器的擔(dān)負(fù)。這個(gè)DNS負(fù)載均衡辦法,一般來說是隨機(jī)抽取地址。DNS負(fù)載均衡前期被廣泛運(yùn)用,優(yōu)點(diǎn)是簡(jiǎn)略易用,但是DNS負(fù)載均衡還是有一些問題存在。假如某一臺(tái)服務(wù)器發(fā)生了毛病,而DNS的下一個(gè)刷新周期又沒到,這樣就可能導(dǎo)致某些用戶無法拜訪站點(diǎn)的狀況發(fā)生。而另一個(gè)缺點(diǎn)在于DNS負(fù)載均衡隨機(jī)性太強(qiáng),比方一段時(shí)間內(nèi)眾多拜訪都被指向同一個(gè)地址,而別的的地址卻閑置,就造成了局部繁忙的不良現(xiàn)象。而且有時(shí)某處服務(wù)器正在運(yùn)轉(zhuǎn)其他應(yīng)用而處于繁忙狀態(tài),DNS負(fù)載均衡也無從得知,而依舊均勻的解析域名。 略微復(fù)雜一點(diǎn)的負(fù)載均衡,是反向代理,當(dāng)外部有懇求到代理服務(wù)器,代理服務(wù)器再將該懇求均勻的轉(zhuǎn)發(fā)到內(nèi)網(wǎng)的服務(wù)器上。這種辦法被廣泛選用。此外,現(xiàn)在還能夠購(gòu)買專業(yè)的硬件設(shè)備。 負(fù)載均衡還有一個(gè)極為簡(jiǎn)略的辦法,便是建立鏡像站點(diǎn)。這個(gè)辦法很直接,省去了許多費(fèi)事?倸w,這一系列負(fù)載均衡辦法,都得以讓大型網(wǎng)站的負(fù)載均勻,不會(huì)有哪個(gè)服務(wù)器有太大的壓力。 CDN: CDN( Content Delivery Network),內(nèi)容分發(fā)網(wǎng)絡(luò)也是大型網(wǎng)站必備的部署之一。CDN的原理不難了解,便是將網(wǎng)頁內(nèi)容存放到離用戶更近的緩存服務(wù)器上,減少路由,從而加速遠(yuǎn)間隔的拜訪速度。比方說,你隨意登陸一個(gè)國(guó)外小站,速度可能很慢。由于國(guó)外網(wǎng)站到國(guó)內(nèi)的最終客戶端的途徑冗長(zhǎng),但是假如你登陸部署了CDN的網(wǎng)站,比方 Plentyoffish.com,你會(huì)發(fā)現(xiàn)速度十分快,跟國(guó)內(nèi)的網(wǎng)站拜訪速度差異現(xiàn)已無法從感知上判別。按照Cache存放的位置不同,CDN也有一些類別,不同的網(wǎng)站會(huì)依據(jù)詳細(xì)需求,有不同的挑選。CDN通常是由獨(dú)立的CDN商供給的。 而咱們假如查詢一個(gè)簡(jiǎn)略的個(gè)人網(wǎng)站,則不可能有CDN;別的,假如有興趣,咱們也能夠仔細(xì)觀察一個(gè)網(wǎng)站多個(gè)二級(jí)域名的CDN狀況。 渠道規(guī)劃: 大型網(wǎng)站一般都有著十分復(fù)雜的與用戶交互的內(nèi)容,必須許多調(diào)用數(shù)據(jù)庫(kù),因而一個(gè)完善的數(shù)據(jù)庫(kù)規(guī)劃關(guān)于大型網(wǎng)站十分重要。數(shù)據(jù)庫(kù)優(yōu)化沒有什么特別的捷徑,其實(shí)很少有一次成型的完美數(shù)據(jù)庫(kù)構(gòu)建,只能是按照特定的需要來規(guī)劃數(shù)據(jù)庫(kù),如有不足再去著手改進(jìn)。不過大型網(wǎng)站還是有一些共性,比方說圖片存儲(chǔ)單獨(dú)運(yùn)用圖片數(shù)據(jù)庫(kù),盡量運(yùn)用靜態(tài)頁面來減少數(shù)據(jù)庫(kù)調(diào)用等等。 還有許多大型網(wǎng)站,都有著十分深厚的技能實(shí)力,能夠開發(fā)歸于自己的渠道。 硬件裝備: 大型網(wǎng)站的硬件裝備一定就好嗎?答案是否定的。 總結(jié): 以上僅僅大型網(wǎng)站的概括總結(jié),其實(shí)每個(gè)網(wǎng)站都有自己共同的一面,所以以上的每一條規(guī)矩都未必是死規(guī)則?倸w,網(wǎng)站架構(gòu)沒有死定律,只需適宜網(wǎng)站的,便是好的架構(gòu) |
|