當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 遼寧OA系統(tǒng) > 沈陽(yáng)OA系統(tǒng) > 沈陽(yáng)OA行業(yè)資訊
大規(guī)模網(wǎng)站系統(tǒng)架構(gòu)技術(shù)原理解析
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
文章來(lái)源:泛普軟件運(yùn)營(yíng)環(huán)境復(fù)雜的原因
跟朋友聊天的時(shí)候,發(fā)現(xiàn)很多人對(duì)大型網(wǎng)站系統(tǒng)架構(gòu)非常感興趣,我也很感興趣,經(jīng)常會(huì)在家里2臺(tái)筆記本和1臺(tái)服務(wù)器組成的局域網(wǎng)環(huán)境里作些實(shí)驗(yàn)。我進(jìn)入IT行業(yè)的時(shí)間,大約是97,98年吧,那時(shí)候PC客戶端軟件最為盛行,做軟件開發(fā)是一份很體面也很喜歡的工作。我從Win3.1上的VC1.5開始一直到 VC6.0,然后轉(zhuǎn)為。Net開發(fā),基本上都是從事客戶端軟件開發(fā)。本人的性格是危機(jī)意識(shí)向來(lái)嚴(yán)重,所以深感互聯(lián)網(wǎng)必將盛行,傳統(tǒng)軟件必將走向沒(méi)落,于是轉(zhuǎn)向了WEB開發(fā)。記得以前去某Portal網(wǎng)站應(yīng)聘的時(shí)候,主考官就問(wèn)我:你認(rèn)為客戶端開發(fā)和互聯(lián)網(wǎng)開發(fā)有什么不同。我當(dāng)時(shí)的回答是:互聯(lián)網(wǎng)開發(fā)比客戶端軟件開發(fā)簡(jiǎn)單多了,我再也不用考慮那么多的用戶環(huán)境因素了,一點(diǎn)部署,何時(shí)何地都可用。
很多年過(guò)去了,我再想起當(dāng)初我的回答,依然覺(jué)得那個(gè)回答是正確的。就產(chǎn)品開發(fā)層面來(lái)講,互聯(lián)網(wǎng)開發(fā)確實(shí)簡(jiǎn)單多了。這里首先澄清一個(gè)概念,我所說(shuō)的互聯(lián)網(wǎng)開發(fā)并不是指所有的B/S應(yīng)用,例如B/S方式的銀行內(nèi)部業(yè)務(wù)系統(tǒng)。我所說(shuō)的互聯(lián)網(wǎng)應(yīng)用是指在互聯(lián)網(wǎng)上服務(wù)于公眾的應(yīng)用。企業(yè)級(jí)的業(yè)務(wù)系統(tǒng),它的特點(diǎn)是業(yè)務(wù)邏輯是比較復(fù)雜的,但用戶一般不太大;互聯(lián)網(wǎng)應(yīng)用則相反,業(yè)務(wù)邏輯一般很簡(jiǎn)單,但面對(duì)的是海量用戶。
既然互聯(lián)網(wǎng)應(yīng)用開發(fā)的業(yè)務(wù)邏輯不復(fù)雜,但為什么大型網(wǎng)站都投入了那么多的技術(shù)人員呢?主要是因?yàn)檫\(yùn)營(yíng)的環(huán)境太復(fù)雜,這種復(fù)雜性形成的原因以下:
1、公開性
網(wǎng)站的服務(wù)是公開的,任何人都可以來(lái)訪問(wèn),所以就會(huì)直接面對(duì)大量的不良用戶,系統(tǒng)數(shù)據(jù)的安全面臨很大的風(fēng)險(xiǎn),一旦系統(tǒng)被攻入,結(jié)果將是災(zāi)難性的。
2、訪問(wèn)量大
訪問(wèn)量大,就意味著網(wǎng)站必須能夠承受高并發(fā)大流量的考驗(yàn),如果網(wǎng)站的服務(wù)能力和健壯性等達(dá)不到要求,你的系統(tǒng)就會(huì)被沖垮。
3、用戶體驗(yàn)
用戶體驗(yàn)要好,除了產(chǎn)品設(shè)計(jì)的因素之外,就要求訪問(wèn)網(wǎng)站的速度要快,具有高可用性,別用一會(huì)就掛。
網(wǎng)站各子系統(tǒng)如何進(jìn)行部署,如何提高系統(tǒng)的健壯性和高可用性,如何實(shí)現(xiàn)網(wǎng)站的安全,如何提高訪問(wèn)速度,如何進(jìn)行負(fù)載均衡,甚至于采用什么的硬件設(shè)備,另外,網(wǎng)站發(fā)展的不同時(shí)期會(huì)可能會(huì)采用不同的架構(gòu),如何實(shí)現(xiàn)架構(gòu)的平滑過(guò)渡,如何使目前的架構(gòu)具有彈性,具備可擴(kuò)展的能力,這都是大型網(wǎng)站必須解決的問(wèn)題,也是小網(wǎng)站成長(zhǎng)過(guò)程中遲早會(huì)遇到的問(wèn)題。我后面的文章將會(huì)逐步就這個(gè)話題展開。
網(wǎng)站機(jī)構(gòu)包括網(wǎng)站的軟件架構(gòu)和系統(tǒng)架構(gòu)兩部分,軟件架構(gòu)主要是指子系統(tǒng)和邏輯層的劃分結(jié)構(gòu);系統(tǒng)架構(gòu),一般是系統(tǒng)部署結(jié)構(gòu)。
系統(tǒng)架構(gòu)師的知識(shí)體系比較龐雜,所謂的見(jiàn)多識(shí)廣,多數(shù)是由運(yùn)維工程師成長(zhǎng)起來(lái)的,他們開發(fā)能力不強(qiáng),編碼不多,但動(dòng)手能力很強(qiáng),腳本編寫非常熟練,經(jīng)常會(huì)做各種類型的實(shí)驗(yàn),密切跟蹤最新技術(shù)最新產(chǎn)品的相關(guān)信息。當(dāng)然,一個(gè)大型的網(wǎng)站,需要一個(gè)架構(gòu)師團(tuán)隊(duì),他們各自承擔(dān)擅長(zhǎng)領(lǐng)域的架構(gòu)設(shè)計(jì),比如安全架構(gòu)、存儲(chǔ)架構(gòu)等等。
我覺(jué)得一般的開發(fā)人員還是很難走上這條路的,這份工作需要經(jīng)驗(yàn),需要不斷實(shí)踐,但如果開發(fā)人員一旦走上了這條路,會(huì)有很大的發(fā)展,主要源于開發(fā)人員的思考習(xí)慣和技術(shù)的深度。我的這系列文章,開發(fā)人員可以作為參考,比如如何開發(fā)可分布式部署的系統(tǒng),另外很多朋友都是身兼數(shù)職,從開發(fā)到實(shí)施,到部署全部包辦。我個(gè)人深感精力有限,所以又特意找了幾個(gè)朋友從Unix/Linux系統(tǒng)和Windows系統(tǒng)不同角度進(jìn)行探索,以造福正在摸索中的朋友,有興趣的朋友也可以參與。
其實(shí),這部分內(nèi)容我一直在寫,比如PHP深度探索系列,寫了大量的關(guān)于apache的內(nèi)容,我已經(jīng)大體把a(bǔ)pache代碼閱讀了一遍,很費(fèi)時(shí)間,進(jìn)度緩慢,但我想這有助于我們理解apache的配置和調(diào)優(yōu)。
在介紹網(wǎng)站架構(gòu)之前,我們先介紹一些網(wǎng)站架構(gòu)中最基礎(chǔ)和常見(jiàn)的概念,以便更好的理解后面的有關(guān)負(fù)載均衡和分布式存儲(chǔ)等技術(shù)。第一個(gè),首先講講CDN。
1、CDN是什么
CDN(Content Delivery Network),就是內(nèi)容發(fā)布網(wǎng)或者內(nèi)容分發(fā)網(wǎng),它的主要目的:通過(guò)在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)邊緣,使用戶可以就近取得所需的內(nèi)容,從而提高用戶訪問(wèn)網(wǎng)站的響應(yīng)速度,提升用戶體驗(yàn),同時(shí)能夠分散訪問(wèn)壓力,把本來(lái)用戶集中訪問(wèn)分散到各地去。網(wǎng)站的內(nèi)容提供商(比如新浪、搜狐、網(wǎng)易等等)使用CDN,就可以在宏觀層解決一部分大流量、海量用戶并發(fā)等令人頭疼的問(wèn)題。
2、CDN的組成
內(nèi)容發(fā)布網(wǎng)(CDN)是一個(gè)經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲(chǔ)、負(fù)載均衡、網(wǎng)絡(luò)請(qǐng)求的重定向和內(nèi)容管理4個(gè)要件,而內(nèi)容管理和全局的網(wǎng)絡(luò)流量管理是CDN的核心所在。通過(guò)用戶就近性和服務(wù)器負(fù)載的判斷,CDN確保內(nèi)容以一種極為高效的方式為用戶的請(qǐng)求提供服務(wù),達(dá)到用戶所要求的服務(wù)距用戶僅有“一跳”(Single Hop)之遙。
我們通常的內(nèi)容發(fā)布模式都是將網(wǎng)站數(shù)據(jù)放到一處,然后應(yīng)對(duì)來(lái)自世界各地的訪問(wèn),我們多數(shù)考慮的是軟件部署架構(gòu),很少考慮網(wǎng)絡(luò)硬件架構(gòu)。與之形成對(duì)比的是,CDN則強(qiáng)調(diào)了網(wǎng)絡(luò)在內(nèi)容發(fā)布中的重要性。通過(guò)引入主動(dòng)的內(nèi)容管理層的和全局負(fù)載均衡,CDN從根本上區(qū)別于傳統(tǒng)的內(nèi)容發(fā)布模式。
內(nèi)容提供商承擔(dān)了他們不該干也干不好的內(nèi)容發(fā)布服務(wù)。
3、互聯(lián)網(wǎng)服務(wù)的產(chǎn)業(yè)鏈
縱觀整個(gè)寬帶服務(wù)的價(jià)值鏈,內(nèi)容提供商和用戶位于整個(gè)價(jià)值鏈的兩端,中間依靠網(wǎng)絡(luò)服務(wù)提供商將其串接起來(lái)。隨著互聯(lián)網(wǎng)工業(yè)的成熟和商業(yè)模式的變革,在這條價(jià)值鏈上的角色越來(lái)越多也越來(lái)越細(xì)分,出現(xiàn)了內(nèi)容運(yùn)營(yíng)商、托管服務(wù)提供商、骨干網(wǎng)絡(luò)服務(wù)提供商、接入服務(wù)提供商等等。在這一條價(jià)值鏈上的每一個(gè)角色都要分工合作、各司其職才能為客戶提供良好的服務(wù),從而帶來(lái)多贏的局面。從內(nèi)容與網(wǎng)絡(luò)的結(jié)合模式上看,內(nèi)容的發(fā)布已經(jīng)走過(guò)了ICP的內(nèi)容(應(yīng)用)服務(wù)器和 IDC這兩個(gè)階段。IDC的熱潮也催生了托管服務(wù)提供商這一角色。但是,IDC并不能解決內(nèi)容的有效發(fā)布問(wèn)題。內(nèi)容位于網(wǎng)絡(luò)的中心并不能解決骨干帶寬的占用和建立IP網(wǎng)絡(luò)上的流量秩序。因此將內(nèi)容推到網(wǎng)絡(luò)的邊緣,為用戶提供就近性的邊緣服務(wù),從而保證服務(wù)的質(zhì)量和整個(gè)網(wǎng)絡(luò)上的訪問(wèn)秩序就成了一種顯而易見(jiàn)的選擇,這就是CDN服務(wù)模式。CDN的建立解決了困擾內(nèi)容運(yùn)營(yíng)商的內(nèi)容“集中與分散”的兩難選擇,無(wú)疑對(duì)于構(gòu)建良好的互聯(lián)網(wǎng)價(jià)值鏈?zhǔn)怯袃r(jià)值的,也是不可或缺的最優(yōu)網(wǎng)站加速服務(wù)。
4、CDN服務(wù)提供商
ChinaCache是中國(guó)最大的CDN服務(wù)提供商,是不是唯一未可知也。要想成為CDN服務(wù)提供商,恐怕要擺平電信、網(wǎng)通、鐵通等等運(yùn)營(yíng)商,這得需要什么樣的能力和背景不得而知。它的服務(wù)節(jié)點(diǎn)在全球已經(jīng)超過(guò)130個(gè),其中國(guó)內(nèi)節(jié)點(diǎn)超過(guò)80個(gè),覆蓋全國(guó)主要6大網(wǎng)絡(luò)(所謂6線機(jī)房,就是這么來(lái)的)的主要省份,象各大門戶網(wǎng)站,比如新浪、網(wǎng)易等等都是租用了他們的服務(wù)。所以,你無(wú)論是在南方,或者北方,還是在北美,訪問(wèn)這些門戶網(wǎng)站,感覺(jué)速度都很快,最主要的原因之一就是CDN發(fā)揮了效果。一般小網(wǎng)站是用不起這服務(wù)的,所以慢點(diǎn)就慢點(diǎn)了吧,可以租用互聯(lián)互通的6線機(jī)房,如果網(wǎng)絡(luò)足夠?qū)挼脑挘脩粢部梢匀淌?。如果想繼續(xù)提升用戶體驗(yàn)的話,就需要做一些網(wǎng)站鏡像,部署在具有代表性的幾個(gè)大城市,比如華南可以部署在廣州,華東可以部署在上海,華北可以部署在北京,不過(guò)內(nèi)容鏡像的過(guò)程,就需要自己去部署和維護(hù)。還有的網(wǎng)站,采用內(nèi)容分割的方式,比如建立針對(duì)各地的分站,業(yè)務(wù)情況不同,可能部署的策略不同。 CDN可以認(rèn)為是基礎(chǔ)網(wǎng)絡(luò)建設(shè)的一種策略。
前面介紹了cdn的一些原理和概念,以及提供cdn基礎(chǔ)網(wǎng)絡(luò)服務(wù)的途徑。cdn看起來(lái)對(duì)于靜態(tài)內(nèi)容的,比如html,js,image是非常合適的,通過(guò)cdn的部署,用戶只需要一跳就可以訪問(wèn)到網(wǎng)站的內(nèi)容。那對(duì)于動(dòng)態(tài)內(nèi)容怎么辦呢?我回答一下:
- 1虛擬化對(duì)災(zāi)難恢復(fù)有多少幫助?
- 2數(shù)據(jù)歸檔應(yīng)用,一網(wǎng)打盡
- 3云計(jì)算的“智慧”:讓數(shù)字開口說(shuō)話
- 4虛擬化用于IDC機(jī)房,只是十全九美
- 5配置管理數(shù)據(jù)庫(kù)(CMDB)基礎(chǔ)知識(shí)
- 6解讀虛擬世界中的動(dòng)態(tài)能力規(guī)劃
- 7中小企業(yè)已成云存儲(chǔ)服務(wù)最大用戶群
- 8部署虛擬化需加倍注意安全風(fēng)險(xiǎn)
- 9孫永杰:Bing搜索游走在現(xiàn)實(shí)與理想間
- 10石曉虹:從斷網(wǎng)事件看“肉雞”的威脅
- 11Google新功能:政府管控?cái)?shù)據(jù)搜索
- 12存儲(chǔ)的多樣選擇與安防存儲(chǔ)發(fā)展趨勢(shì)
- 13云計(jì)算:是用外部云還是內(nèi)部云?
- 14基于移動(dòng)agent技術(shù)的供應(yīng)鏈訂單流管理
- 15信息安全法規(guī)與倫理道德調(diào)查
- 16體驗(yàn)全新的虛擬化數(shù)據(jù)中心價(jià)值觀
- 17IT運(yùn)維管理在信息化中起到什么關(guān)鍵作用
- 18安全仍是服務(wù)器虛擬化發(fā)展最大阻力
- 19云計(jì)算需要比IT外包更嚴(yán)格的安全審查
- 20高性能計(jì)算(HPC)脫去貴族外衣
- 21Linux系統(tǒng)與Windows系統(tǒng)目錄結(jié)構(gòu)差異
- 22OA軟件科技有限公司與新建集團(tuán)成功攜手
- 232015年云計(jì)算或?qū)⒊蔀槠髽I(yè)主流應(yīng)用
- 24Web 2.0時(shí)代企業(yè)安全風(fēng)險(xiǎn)與防治
- 25克服企業(yè)信息化管理軟件CRM的缺點(diǎn)
- 26怎樣控制企業(yè)存儲(chǔ)環(huán)境 實(shí)現(xiàn)綠色I(xiàn)T
- 27綠色計(jì)算概念解讀
- 28OA項(xiàng)目顧問(wèn)、銷售、代理的策劃營(yíng)銷
- 29升級(jí)到100G——高端核心交換機(jī)平臺(tái)購(gòu)買指南
- 30泛普OA系統(tǒng)各功能運(yùn)行狀況的評(píng)估:
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓