高併發、大流量;高可用;海量數據;用戶分佈普遍,網絡狀況複雜;安全環境惡劣;需求快速變動,發佈頻繁;漸進式發展;sql
初始階段的網站架構:Linux+Apache+Mysql+PHP 簡稱 LAMP , 運行在同一個服務器上。數據庫
應用服務和數據服務分離:將應用服務、數據服務器、文件服務器分離,不一樣特性的服務器承擔不一樣的服務角色,網站的併發處理能力和數據存儲空間獲得了很大改善緩存
使用緩存改善網站性能:分爲本地緩存和遠程分佈式緩存;本地緩存的訪問更快一些,可是受應用服務器內在限制,其緩存數據量有限,並且會出現和應用程序爭用內存的狀況;遠程分佈式緩存可使用集羣方式,部署在專門服務器上;使用緩存後,數據訪問壓力獲得有效緩解。(80%的業務訪問集中在20%的數據上)安全
使用應用服務器集羣改善網站的併發處理能力:應用服務器實現集羣是網站可伸縮集羣架構中較爲簡單成熟的一種,經過負載均衡調度服務器。服務器
數據庫讀寫分離:主從熱備,寫入主庫,讀取從庫網絡
使用反向代理和CDN加速網站響應:CDN和反向代理的原理都是緩存。CDN部署在網絡提供商的機房;反向代理部署在網站的中心機房;架構
使用分佈式文件系統和分佈式數據庫系統:網站經常使用的數據庫拆分手段是業務分庫,將不一樣業務的數據庫部署到不一樣的物理服務器上。併發
使用NoSql和搜索引擎:解決數據存儲和高性能檢索的問題負載均衡
業務拆分:按業務領域進行服務拆分分佈式
分佈式服務:將共用服務抽離出來,獨立部署,實現數據庫按業務拆分。
一、核心價值:隨網站所需靈活應對
二、驅動大型網站技術發展的主要力量是網站的業務發展
一、一味追求大公司的解決方案
二、爲了技術而技術
三、企圖用技術解決全部問題
幾年前買的一本書,看了一遍,感觸不是很深,最近拿起來看了幾眼,突然感受如今的不少互聯網技術都離不開本書中的一些基本原理,書中按部就班的結合實際工做中的問題講解具體的解決方案,通俗易懂,又能夠一覽大型網站架構的全貌,給力,給力。