国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁(yè)      樂(lè)道系統(tǒng)FAQ      《大型網(wǎng)站技術(shù)架構(gòu)》讀書筆記 - 網(wǎng)站的技術(shù)升級(jí)路線

《大型網(wǎng)站技術(shù)架構(gòu)》讀書筆記 - 網(wǎng)站的技術(shù)升級(jí)路線

標(biāo)簽: 發(fā)布日期:2014-04-03 00:00:00 647

本文描述網(wǎng)站從小到大演變過(guò)程中的技術(shù)升級(jí)路線;

1.初始架構(gòu)

一臺(tái)服務(wù)器,應(yīng)用、DB、文件都在一塊,使用經(jīng)典的LAMP模式構(gòu)建整個(gè)站點(diǎn); 
優(yōu)點(diǎn)很明顯,開(kāi)發(fā)部署都簡(jiǎn)單,船小好掉頭,做不起來(lái)也虧不了多少;

2.應(yīng)用服務(wù)與數(shù)據(jù)分離

隨著訪問(wèn)量的增長(zhǎng),出現(xiàn)問(wèn)題了:web性能變差,數(shù)據(jù)存儲(chǔ)空間不夠 
這時(shí)候需要更多的服務(wù)器,首要任務(wù)是將數(shù)據(jù)庫(kù)分離出來(lái),單獨(dú)占用一臺(tái)服務(wù)器,如果文件讀寫多,需要增加文件服務(wù)器;不同的服務(wù)器對(duì)硬件的要求也不盡相同: 
應(yīng)用服務(wù)器需要處理大量業(yè)務(wù)邏輯,這需要更強(qiáng)的CPU; 
數(shù)據(jù)庫(kù)服務(wù)器需要快速磁盤檢索和數(shù)據(jù)緩存,這需要更快的硬盤和更大的內(nèi)存; 
文件服務(wù)器需要存儲(chǔ)用戶上傳的文件,需要更大的硬盤;

3.使用緩存改善網(wǎng)站性能

訪問(wèn)量持續(xù)增長(zhǎng),web性能再次變差; 
考慮使用緩存改善網(wǎng)站性能;web的訪問(wèn)規(guī)律:80%業(yè)務(wù)訪問(wèn)集中在20%的數(shù)據(jù)上;使用緩存,數(shù)據(jù)庫(kù)壓力得到有效緩解; 
緩存可通過(guò)以下方式增加: 
增加應(yīng)用服務(wù)器本地緩存,這個(gè)最直接,也最簡(jiǎn)單; 
增加遠(yuǎn)程分布式緩存集群;當(dāng)本地的內(nèi)存不足以放下需要緩存的數(shù)據(jù)時(shí),就只有通過(guò)分布式; 
使用類似Memcached之類的開(kāi)源緩存產(chǎn)品,緩存更多的數(shù)據(jù);

4.應(yīng)用服務(wù)器集群化

隨著網(wǎng)站的成長(zhǎng),單一應(yīng)用服務(wù)器成為網(wǎng)站瓶頸; 
解決方案:應(yīng)用服務(wù)器集群化提高網(wǎng)站并發(fā)處理能力; 
做成集群的關(guān)鍵是增加負(fù)載均衡服務(wù)器來(lái)調(diào)度應(yīng)用集群

5.數(shù)據(jù)庫(kù)讀寫分離

問(wèn)題:當(dāng)增加緩存之后,隨著訪問(wèn)量的持續(xù)增長(zhǎng),數(shù)據(jù)庫(kù)再次出現(xiàn)問(wèn)題:數(shù)據(jù)庫(kù)負(fù)載壓力過(guò)高 
解決方案:數(shù)據(jù)庫(kù)讀寫分離 
利用數(shù)據(jù)庫(kù)主從熱備功能,實(shí)現(xiàn)讀寫分離;讀寫分離的細(xì)節(jié)這篇文章講的很清楚了,就不多說(shuō),有需要的請(qǐng)參考:http://www.cnblogs.com/qlee/archive/2011/04/08/2009738.html

6.使用反向代理和CDN

問(wèn)題:網(wǎng)站做大,全國(guó)甚至全球各區(qū)域的訪問(wèn)量都來(lái)了,但是各區(qū)域的訪問(wèn)速度差別巨大; 
解決方案:使用反向代理和CDN 
CDN和反向代理基本原理都是緩存,CDN部署在網(wǎng)絡(luò)提供商的機(jī)房,用戶請(qǐng)求最近的節(jié)點(diǎn)訪問(wèn);而反向代理則部署在網(wǎng)站的中心機(jī)房;

7.使用分布式FS和分布式DBS

問(wèn)題:應(yīng)用集群如果將session管理做好,或做成無(wú)狀態(tài)的應(yīng)用集群,可達(dá)到線性伸縮;而數(shù)據(jù)庫(kù)的壓力卻不是很好解決; 
解決方案:使用分布式數(shù)據(jù)庫(kù)拆分,可使用的方法有: 
單表拆分:將不同的表放到不同的庫(kù)中,從而降低單個(gè)數(shù)據(jù)庫(kù)的結(jié)點(diǎn)的負(fù)載;這樣帶來(lái)的問(wèn)題就是不同庫(kù)中的表無(wú)法做join操作; 
另一種方法就是按業(yè)務(wù)拆分,將屬于同一業(yè)務(wù)的表劃分到一個(gè)庫(kù)中,從而有效降低數(shù)據(jù)庫(kù)負(fù)載,同時(shí)在業(yè)務(wù)邏輯實(shí)現(xiàn)上不至于過(guò)于復(fù)雜;

8.使用NoSQL和搜索引擎

問(wèn)題:出現(xiàn)海量數(shù)據(jù)存儲(chǔ)和檢索的需求 
解決方案:使用NoSQl產(chǎn)品分布式部署來(lái)支持海量數(shù)據(jù)的查詢和存儲(chǔ);

9.業(yè)務(wù)拆分

按照業(yè)務(wù)來(lái)劃分子系統(tǒng),按產(chǎn)品線劃分系統(tǒng),通過(guò)分布式服務(wù)來(lái)協(xié)同工作;

附:思維導(dǎo)圖

卓越亞馬遜地址: 《大型網(wǎng)站技術(shù)架構(gòu)》