| 大型網(wǎng)站架構(gòu)演變過(guò)程: [Step1]web server與數(shù)據(jù)庫(kù)分離 web動(dòng)靜資源分離 靜態(tài)請(qǐng)求:如html, js, css, img 動(dòng)態(tài)請(qǐng)求:如jsp, php [Step2]緩存處理 客戶(hù)端(瀏覽器)緩存 前端頁(yè)面緩存(squid) 頁(yè)面片段緩存ESI(Edge Side Includes) 本地?cái)?shù)據(jù)緩存 [Step3]web server集群+讀寫(xiě)分離 負(fù)載均衡: 前端負(fù)載均衡 
 
 
 
 
 應(yīng)用服務(wù)器負(fù)載均衡 數(shù)據(jù)庫(kù)負(fù)載均衡 [Step4]CDN、分布式緩存、分庫(kù)分表 分布式緩存 目前流行分布式緩存方案:memcached、membase、redis等,基本上當(dāng)前的NoSQL方案都可以用來(lái)做分布式緩存方案 分庫(kù)(垂直分區(qū)) 分表(水平分區(qū)shard) [Step5]多數(shù)據(jù)中心+分布式存儲(chǔ)與計(jì)算 技術(shù)點(diǎn)[DFS、Key-Value DB 、 Map/Reduce ]  DFS分布式文件系統(tǒng),如:Lustre\HDFS\GFS\TFS\FreeNas等 Key-Value DB,也作為NoSQL解決方案,如:BigTable\Tair\Hbase\HyperTable等 Map/Reduce算法(計(jì)算框架),基本上現(xiàn)有NoSQL數(shù)據(jù)庫(kù)中都支持此算法。 提供完整解決方案: 
 大并發(fā)服務(wù)器架構(gòu):   垂直分區(qū):比如用戶(hù)表、業(yè)務(wù)表、基礎(chǔ)表各有各自的讀寫(xiě)數(shù)據(jù)庫(kù)。 水平分區(qū):比如用戶(hù)表、業(yè)務(wù)表、基礎(chǔ)表各有1000條記錄,則水平分割分布在10對(duì)讀寫(xiě)庫(kù)。 服務(wù)器性能殺手: 1、數(shù)據(jù)拷貝:(緩存,不是指分布式緩存,指的是服務(wù)器內(nèi)部的,如從內(nèi)核拷貝到應(yīng)用層的緩存) 2、環(huán)境切換:(理性使用多線(xiàn)程)單核(使用狀態(tài)機(jī)編程效果最佳),多線(xiàn)程能夠發(fā)揮多核服務(wù)器最佳性能 3、內(nèi)存分配:(內(nèi)存池)減少向操作系統(tǒng)申請(qǐng)內(nèi)存的次數(shù) 4、鎖競(jìng)爭(zhēng):(通過(guò)邏輯盡量減少鎖的使用,或者鎖的競(jìng)爭(zhēng)) 
 
 | 
|  | 
來(lái)自: WindySky > 《分布式架構(gòu)》