成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓
當前位置:工程項目OA系統(tǒng) > 泛普各地 > 遼寧OA系統(tǒng) > 沈陽OA系統(tǒng) > 沈陽OA行業(yè)資訊
大規(guī)模網(wǎng)站系統(tǒng)架構技術原理解析
運營環(huán)境復雜的原因
跟朋友聊天的時候,發(fā)現(xiàn)很多人對大型網(wǎng)站系統(tǒng)架構非常感興趣,我也很感興趣,經(jīng)常會在家里2臺筆記本和1臺服務器組成的局域網(wǎng)環(huán)境里作些實驗。我進入IT行業(yè)的時間,大約是97,98年吧,那時候PC客戶端軟件最為盛行,做軟件開發(fā)是一份很體面也很喜歡的工作。我從Win3.1上的VC1.5開始一直到 VC6.0,然后轉(zhuǎn)為。Net開發(fā),基本上都是從事客戶端軟件開發(fā)。本人的性格是危機意識向來嚴重,所以深感互聯(lián)網(wǎng)必將盛行,傳統(tǒng)軟件必將走向沒落,于是轉(zhuǎn)向了WEB開發(fā)。記得以前去某Portal網(wǎng)站應聘的時候,主考官就問我:你認為客戶端開發(fā)和互聯(lián)網(wǎng)開發(fā)有什么不同。我當時的回答是:互聯(lián)網(wǎng)開發(fā)比客戶端軟件開發(fā)簡單多了,我再也不用考慮那么多的用戶環(huán)境因素了,一點部署,何時何地都可用。
很多年過去了,我再想起當初我的回答,依然覺得那個回答是正確的。就產(chǎn)品開發(fā)層面來講,互聯(lián)網(wǎng)開發(fā)確實簡單多了。這里首先澄清一個概念,我所說的互聯(lián)網(wǎng)開發(fā)并不是指所有的B/S應用,例如B/S方式的銀行內(nèi)部業(yè)務系統(tǒng)。我所說的互聯(lián)網(wǎng)應用是指在互聯(lián)網(wǎng)上服務于公眾的應用。企業(yè)級的業(yè)務系統(tǒng),它的特點是業(yè)務邏輯是比較復雜的,但用戶一般不太大;互聯(lián)網(wǎng)應用則相反,業(yè)務邏輯一般很簡單,但面對的是海量用戶。

既然互聯(lián)網(wǎng)應用開發(fā)的業(yè)務邏輯不復雜,但為什么大型網(wǎng)站都投入了那么多的技術人員呢?主要是因為運營的環(huán)境太復雜,這種復雜性形成的原因以下:
1、公開性
網(wǎng)站的服務是公開的,任何人都可以來訪問,所以就會直接面對大量的不良用戶,系統(tǒng)數(shù)據(jù)的安全面臨很大的風險,一旦系統(tǒng)被攻入,結果將是災難性的。
2、訪問量大
訪問量大,就意味著網(wǎng)站必須能夠承受高并發(fā)大流量的考驗,如果網(wǎng)站的服務能力和健壯性等達不到要求,你的系統(tǒng)就會被沖垮。
3、用戶體驗
用戶體驗要好,除了產(chǎn)品設計的因素之外,就要求訪問網(wǎng)站的速度要快,具有高可用性,別用一會就掛。
網(wǎng)站各子系統(tǒng)如何進行部署,如何提高系統(tǒng)的健壯性和高可用性,如何實現(xiàn)網(wǎng)站的安全,如何提高訪問速度,如何進行負載均衡,甚至于采用什么的硬件設備,另外,網(wǎng)站發(fā)展的不同時期會可能會采用不同的架構,如何實現(xiàn)架構的平滑過渡,如何使目前的架構具有彈性,具備可擴展的能力,這都是大型網(wǎng)站必須解決的問題,也是小網(wǎng)站成長過程中遲早會遇到的問題。我后面的文章將會逐步就這個話題展開。
網(wǎng)站機構包括網(wǎng)站的軟件架構和系統(tǒng)架構兩部分,軟件架構主要是指子系統(tǒng)和邏輯層的劃分結構;系統(tǒng)架構,一般是系統(tǒng)部署結構。
系統(tǒng)架構師的知識體系比較龐雜,所謂的見多識廣,多數(shù)是由運維工程師成長起來的,他們開發(fā)能力不強,編碼不多,但動手能力很強,腳本編寫非常熟練,經(jīng)常會做各種類型的實驗,密切跟蹤最新技術最新產(chǎn)品的相關信息。當然,一個大型的網(wǎng)站,需要一個架構師團隊,他們各自承擔擅長領域的架構設計,比如安全架構、存儲架構等等。
我覺得一般的開發(fā)人員還是很難走上這條路的,這份工作需要經(jīng)驗,需要不斷實踐,但如果開發(fā)人員一旦走上了這條路,會有很大的發(fā)展,主要源于開發(fā)人員的思考習慣和技術的深度。我的這系列文章,開發(fā)人員可以作為參考,比如如何開發(fā)可分布式部署的系統(tǒng),另外很多朋友都是身兼數(shù)職,從開發(fā)到實施,到部署全部包辦。我個人深感精力有限,所以又特意找了幾個朋友從Unix/Linux系統(tǒng)和Windows系統(tǒng)不同角度進行探索,以造福正在摸索中的朋友,有興趣的朋友也可以參與。
其實,這部分內(nèi)容我一直在寫,比如PHP深度探索系列,寫了大量的關于apache的內(nèi)容,我已經(jīng)大體把apache代碼閱讀了一遍,很費時間,進度緩慢,但我想這有助于我們理解apache的配置和調(diào)優(yōu)。
在介紹網(wǎng)站架構之前,我們先介紹一些網(wǎng)站架構中最基礎和常見的概念,以便更好的理解后面的有關負載均衡和分布式存儲等技術。第一個,首先講講CDN。
1、CDN是什么
CDN(Content Delivery Network),就是內(nèi)容發(fā)布網(wǎng)或者內(nèi)容分發(fā)網(wǎng),它的主要目的:通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡架構,將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡邊緣,使用戶可以就近取得所需的內(nèi)容,從而提高用戶訪問網(wǎng)站的響應速度,提升用戶體驗,同時能夠分散訪問壓力,把本來用戶集中訪問分散到各地去。網(wǎng)站的內(nèi)容提供商(比如新浪、搜狐、網(wǎng)易等等)使用CDN,就可以在宏觀層解決一部分大流量、海量用戶并發(fā)等令人頭疼的問題。
2、CDN的組成
內(nèi)容發(fā)布網(wǎng)(CDN)是一個經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲、負載均衡、網(wǎng)絡請求的重定向和內(nèi)容管理4個要件,而內(nèi)容管理和全局的網(wǎng)絡流量管理是CDN的核心所在。通過用戶就近性和服務器負載的判斷,CDN確保內(nèi)容以一種極為高效的方式為用戶的請求提供服務,達到用戶所要求的服務距用戶僅有“一跳”(Single Hop)之遙。
我們通常的內(nèi)容發(fā)布模式都是將網(wǎng)站數(shù)據(jù)放到一處,然后應對來自世界各地的訪問,我們多數(shù)考慮的是軟件部署架構,很少考慮網(wǎng)絡硬件架構。與之形成對比的是,CDN則強調(diào)了網(wǎng)絡在內(nèi)容發(fā)布中的重要性。通過引入主動的內(nèi)容管理層的和全局負載均衡,CDN從根本上區(qū)別于傳統(tǒng)的內(nèi)容發(fā)布模式。
內(nèi)容提供商承擔了他們不該干也干不好的內(nèi)容發(fā)布服務。
3、互聯(lián)網(wǎng)服務的產(chǎn)業(yè)鏈
縱觀整個寬帶服務的價值鏈,內(nèi)容提供商和用戶位于整個價值鏈的兩端,中間依靠網(wǎng)絡服務提供商將其串接起來。隨著互聯(lián)網(wǎng)工業(yè)的成熟和商業(yè)模式的變革,在這條價值鏈上的角色越來越多也越來越細分,出現(xiàn)了內(nèi)容運營商、托管服務提供商、骨干網(wǎng)絡服務提供商、接入服務提供商等等。在這一條價值鏈上的每一個角色都要分工合作、各司其職才能為客戶提供良好的服務,從而帶來多贏的局面。從內(nèi)容與網(wǎng)絡的結合模式上看,內(nèi)容的發(fā)布已經(jīng)走過了ICP的內(nèi)容(應用)服務器和 IDC這兩個階段。IDC的熱潮也催生了托管服務提供商這一角色。但是,IDC并不能解決內(nèi)容的有效發(fā)布問題。內(nèi)容位于網(wǎng)絡的中心并不能解決骨干帶寬的占用和建立IP網(wǎng)絡上的流量秩序。因此將內(nèi)容推到網(wǎng)絡的邊緣,為用戶提供就近性的邊緣服務,從而保證服務的質(zhì)量和整個網(wǎng)絡上的訪問秩序就成了一種顯而易見的選擇,這就是CDN服務模式。CDN的建立解決了困擾內(nèi)容運營商的內(nèi)容“集中與分散”的兩難選擇,無疑對于構建良好的互聯(lián)網(wǎng)價值鏈是有價值的,也是不可或缺的最優(yōu)網(wǎng)站加速服務。
4、CDN服務提供商
ChinaCache是中國最大的CDN服務提供商,是不是唯一未可知也。要想成為CDN服務提供商,恐怕要擺平電信、網(wǎng)通、鐵通等等運營商,這得需要什么樣的能力和背景不得而知。它的服務節(jié)點在全球已經(jīng)超過130個,其中國內(nèi)節(jié)點超過80個,覆蓋全國主要6大網(wǎng)絡(所謂6線機房,就是這么來的)的主要省份,象各大門戶網(wǎng)站,比如新浪、網(wǎng)易等等都是租用了他們的服務。所以,你無論是在南方,或者北方,還是在北美,訪問這些門戶網(wǎng)站,感覺速度都很快,最主要的原因之一就是CDN發(fā)揮了效果。一般小網(wǎng)站是用不起這服務的,所以慢點就慢點了吧,可以租用互聯(lián)互通的6線機房,如果網(wǎng)絡足夠?qū)挼脑挘脩粢部梢匀淌?。如果想繼續(xù)提升用戶體驗的話,就需要做一些網(wǎng)站鏡像,部署在具有代表性的幾個大城市,比如華南可以部署在廣州,華東可以部署在上海,華北可以部署在北京,不過內(nèi)容鏡像的過程,就需要自己去部署和維護。還有的網(wǎng)站,采用內(nèi)容分割的方式,比如建立針對各地的分站,業(yè)務情況不同,可能部署的策略不同。 CDN可以認為是基礎網(wǎng)絡建設的一種策略。
前面介紹了cdn的一些原理和概念,以及提供cdn基礎網(wǎng)絡服務的途徑。cdn看起來對于靜態(tài)內(nèi)容的,比如html,js,image是非常合適的,通過cdn的部署,用戶只需要一跳就可以訪問到網(wǎng)站的內(nèi)容。那對于動態(tài)內(nèi)容怎么辦呢?我回答一下:

本文內(nèi)容來自自互聯(lián)網(wǎng)公開信息或用戶自發(fā)貢獻,該文觀點僅代表作者本人,版權歸原作者所有。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。若發(fā)現(xiàn)侵權或違規(guī)內(nèi)容請聯(lián)系電話4008352114或郵箱442699841@qq.com,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。
本站推薦
- 1工程項目管理平臺是否能解決大規(guī)模項目的難題?深度解析系統(tǒng)功能
- 2鋼鐵行業(yè)大規(guī)模erp管理系統(tǒng)報價及優(yōu)惠方案大
- 3智慧農(nóng)場生產(chǎn)管理系統(tǒng)在大規(guī)模農(nóng)場應用,能hold住復雜種植場景嗎?
- 4 大規(guī)模企業(yè)通信管理系統(tǒng)定制與二次開發(fā)預算?
- 5企業(yè)該如何有效管理和存儲大規(guī)模的歷史數(shù)據(jù)?
- 6醫(yī)院大規(guī)?;椖抗こ坦芾碥浖?/a>
- 7大規(guī)模的按摩店需要會員管理系統(tǒng)嗎
- 8瀝青混凝土路面施工檢測技術
- 9Raisio城——小規(guī)模的事物成就大規(guī)模的空間

