此篇已收錄至《大型網(wǎng)站技術(shù)架構》讀書(shū)筆記系列目錄貼,點(diǎn)擊訪(fǎng)問(wèn)該目錄可獲取更多內容。
?。?)高并發(fā)、大流量:PV量巨大
?。?)高可用:7*24小時(shí)不間斷服務(wù)
?。?)海量數據:文件數目分分鐘xxTB
?。?)用戶(hù)分布廣泛,網(wǎng)絡(luò )情況復雜:網(wǎng)絡(luò )運營(yíng)商
?。?)安全環(huán)境惡劣:黑客的攻擊
?。?)需求快速變更,發(fā)布頻繁:快速適應市場(chǎng),滿(mǎn)足用戶(hù)需求
?。?)漸進(jìn)式發(fā)展:慢慢地運營(yíng)出大型網(wǎng)站
?。?)初始階段網(wǎng)站架構:一臺Server就剛需—應用程序、數據庫、文件等所有資源都集中在一臺Server上,典型案例:基于LAMP架構的PHP網(wǎng)站

(2)應用和數據服務(wù)分離:三臺Server平天下—業(yè)務(wù)發(fā)展,單臺不再適應業(yè)務(wù)的發(fā)展,將應用和數據分離后成三臺Sever(應用服務(wù)器、文件服務(wù)器與數據庫服務(wù)器)。分離后三臺Server對硬件資源的需求各不相同:應用服務(wù)器需要更快更強大的CPU,而數據庫服務(wù)器需要更快的硬盤(pán)和更大的內存,文件服務(wù)器則需要更大的硬盤(pán);

?。?)使用緩存改善網(wǎng)站性能:3+X的Server模式—減少數據庫訪(fǎng)問(wèn)壓力,提高網(wǎng)站的數據訪(fǎng)問(wèn)速度。緩存又可以分為:本地緩存和遠程緩存(可以是分布式的),本地緩存訪(fǎng)問(wèn)速度快,但數據量有限;遠程分布式緩存可以集群,因此容量不受限制;

?。?)使用應用服務(wù)器集群改善網(wǎng)站并發(fā)處理能力:集群—解決高并發(fā)、海量數據問(wèn)題的常用手段,實(shí)現系統的可伸縮性。通過(guò)負載均衡調度器,可將用戶(hù)訪(fǎng)問(wèn)分發(fā)到集群中的某臺Server上,應用服務(wù)器的負載壓力不再成為整個(gè)網(wǎng)站的瓶頸。

?。?)數據庫讀寫(xiě)分離:使用緩存后絕大部分都可以不通過(guò)DB就能完成,但仍有一部分(緩存訪(fǎng)問(wèn)不命中、緩存過(guò)期)和全部的寫(xiě)操作需要訪(fǎng)問(wèn)DB,在網(wǎng)站的用戶(hù)達到一定規模后,DB因為負載壓力過(guò)高成為網(wǎng)站的瓶頸。大部分主流DB都提供主從熱備功能,利用這一功能就可以配置兩臺DB主從關(guān)系,一臺數據更新同步到另一臺Server上。網(wǎng)站利用DB的這一功能,實(shí)現DB讀寫(xiě)分離,從而改善DB負載壓力。

?。?)使用反向代理和CDN加速網(wǎng)站響應:CDN和反向代理的基本原理都是緩存,區別在于CDN部署在網(wǎng)絡(luò )提供商的機房,而反向代理則部署在網(wǎng)站的中心機房。使用CDN和反向代理的目的都是盡早返回數據給用戶(hù),一方面加快用戶(hù)訪(fǎng)問(wèn)速度,另一方面也減輕后端服務(wù)器的負載壓力。

?。?)使用分布式文件系統和分布式數據庫系統:隨著(zhù)網(wǎng)站業(yè)務(wù)的發(fā)展,兩臺DB服務(wù)器依然不能滿(mǎn)足需求,文件系統也一樣。

?。?)使用NoSQL和搜索引擎:NoSQL和搜索引擎都是源自互聯(lián)網(wǎng)的技術(shù)手段,對可伸縮的分布式特性具有更好的支持。應用服務(wù)器則通過(guò)一個(gè)統一數據訪(fǎng)問(wèn)模塊訪(fǎng)問(wèn)各種數據,減輕應用程序管理諸多數據源的麻煩。

?。?)業(yè)務(wù)拆分:通過(guò)分而治之的手段將整個(gè)網(wǎng)站業(yè)務(wù)分成不同的產(chǎn)品線(xiàn),如淘寶將首頁(yè)、商鋪、訂單、賣(mài)家、買(mǎi)家等拆分成不同的產(chǎn)品線(xiàn),分歸不同的業(yè)務(wù)團隊負責。各個(gè)應用之間可以通過(guò)建立一個(gè)超鏈接建立關(guān)系,也可以通過(guò)消息隊列進(jìn)行數據分發(fā)。

?。?0)分布式服務(wù):既然每一個(gè)應用系統都需要執行許多相通的業(yè)務(wù)操作,比如用戶(hù)管理、商品管理等,那么可以將這些共用的業(yè)務(wù)提取出來(lái),獨立部署。

?。?)核心價(jià)值:隨網(wǎng)站所需靈活應對
大型網(wǎng)站不是從無(wú)到有一步就搭建好一個(gè)大型網(wǎng)站,而是能夠伴隨小型網(wǎng)站業(yè)務(wù)的漸進(jìn)發(fā)展,慢慢地演化成一個(gè)大型網(wǎng)站。
(2)驅動(dòng)力量:網(wǎng)站的業(yè)務(wù)發(fā)展—業(yè)務(wù)成就了技術(shù),事業(yè)成就了人,而不是相反
?。?)一味追隨大公司的解決方案
?。?)為了技術(shù)而技術(shù)->常見(jiàn)問(wèn)題
?。?)企圖用技術(shù)解決所有問(wèn)題:技術(shù)是用來(lái)解決業(yè)務(wù)問(wèn)題的,而業(yè)務(wù)的問(wèn)題,也可以通過(guò)業(yè)務(wù)的手段去解決;

聯(lián)系客服