《大型网站技术架构》读书笔记一:大型网站架构演化
來源:http://www.cnblogs.com/edisonchou/p/3773891.html
此篇已收錄至《大型網(wǎng)站技術架構》讀書筆記系列目錄貼,點擊訪問該目錄可獲取更多內容。
一、大型網(wǎng)站系統(tǒng)特點
(1)高并發(fā)、大流量:PV量巨大
(2)高可用:7*24小時不間斷服務
(3)海量數(shù)據(jù):文件數(shù)目分分鐘xxTB
(4)用戶分布廣泛,網(wǎng)絡情況復雜:網(wǎng)絡運營商
(5)安全環(huán)境惡劣:黑客的攻擊
(6)需求快速變更,發(fā)布頻繁:快速適應市場,滿足用戶需求
(7)漸進式發(fā)展:慢慢地運營出大型網(wǎng)站
二、大型網(wǎng)站架構演化過程
(1)初始階段網(wǎng)站架構:一臺Server就剛需—應用程序、數(shù)據(jù)庫、文件等所有資源都集中在一臺Server上,典型案例:基于LAMP架構的PHP網(wǎng)站
(2)應用和數(shù)據(jù)服務分離:三臺Server平天下—業(yè)務發(fā)展,單臺不再適應業(yè)務的發(fā)展,將應用和數(shù)據(jù)分離后成三臺Sever(應用服務器、文件服務器與數(shù)據(jù)庫服務器)。分離后三臺Server對硬件資源的需求各不相同:應用服務器需要更快更強大的CPU,而數(shù)據(jù)庫服務器需要更快的硬盤和更大的內存,文件服務器則需要更大的硬盤;
(3)使用緩存改善網(wǎng)站性能:3+X的Server模式—減少數(shù)據(jù)庫訪問壓力,提高網(wǎng)站的數(shù)據(jù)訪問速度。緩存又可以分為:本地緩存和遠程緩存(可以是分布式的),本地緩存訪問速度快,但數(shù)據(jù)量有限;遠程分布式緩存可以集群,因此容量不受限制;
(4)使用應用服務器集群改善網(wǎng)站并發(fā)處理能力:集群—解決高并發(fā)、海量數(shù)據(jù)問題的常用手段,實現(xiàn)系統(tǒng)的可伸縮性。通過負載均衡調度器,可將用戶訪問分發(fā)到集群中的某臺Server上,應用服務器的負載壓力不再成為整個網(wǎng)站的瓶頸。
(5)數(shù)據(jù)庫讀寫分離:使用緩存后絕大部分都可以不通過DB就能完成,但仍有一部分(緩存訪問不命中、緩存過期)和全部的寫操作需要訪問DB,在網(wǎng)站的用戶達到一定規(guī)模后,DB因為負載壓力過高成為網(wǎng)站的瓶頸。大部分主流DB都提供主從熱備功能,利用這一功能就可以配置兩臺DB主從關系,一臺數(shù)據(jù)更新同步到另一臺Server上。網(wǎng)站利用DB的這一功能,實現(xiàn)DB讀寫分離,從而改善DB負載壓力。
(6)使用反向代理和CDN加速網(wǎng)站響應:CDN和反向代理的基本原理都是緩存,區(qū)別在于CDN部署在網(wǎng)絡提供商的機房,而反向代理則部署在網(wǎng)站的中心機房。使用CDN和反向代理的目的都是盡早返回數(shù)據(jù)給用戶,一方面加快用戶訪問速度,另一方面也減輕后端服務器的負載壓力。
(7)使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng):隨著網(wǎng)站業(yè)務的發(fā)展,兩臺DB服務器依然不能滿足需求,文件系統(tǒng)也一樣。
(8)使用NoSQL和搜索引擎:NoSQL和搜索引擎都是源自互聯(lián)網(wǎng)的技術手段,對可伸縮的分布式特性具有更好的支持。應用服務器則通過一個統(tǒng)一數(shù)據(jù)訪問模塊訪問各種數(shù)據(jù),減輕應用程序管理諸多數(shù)據(jù)源的麻煩。
(9)業(yè)務拆分:通過分而治之的手段將整個網(wǎng)站業(yè)務分成不同的產(chǎn)品線,如淘寶將首頁、商鋪、訂單、賣家、買家等拆分成不同的產(chǎn)品線,分歸不同的業(yè)務團隊負責。各個應用之間可以通過建立一個超鏈接建立關系,也可以通過消息隊列進行數(shù)據(jù)分發(fā)。
(10)分布式服務:既然每一個應用系統(tǒng)都需要執(zhí)行許多相通的業(yè)務操作,比如用戶管理、商品管理等,那么可以將這些共用的業(yè)務提取出來,獨立部署。
三、大型網(wǎng)站架構演化價值觀
(1)核心價值:隨網(wǎng)站所需靈活應對
大型網(wǎng)站不是從無到有一步就搭建好一個大型網(wǎng)站,而是能夠伴隨小型網(wǎng)站業(yè)務的漸進發(fā)展,慢慢地演化成一個大型網(wǎng)站。
(2)驅動力量:網(wǎng)站的業(yè)務發(fā)展—業(yè)務成就了技術,事業(yè)成就了人,而不是相反
四、大型網(wǎng)站架構設計的誤區(qū)
(1)一味追隨大公司的解決方案
(2)為了技術而技術->常見問題
(3)企圖用技術解決所有問題:技術是用來解決業(yè)務問題的,而業(yè)務的問題,也可以通過業(yè)務的手段去解決;
本章思維導圖
總結
以上是生活随笔為你收集整理的《大型网站技术架构》读书笔记一:大型网站架构演化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 霹雳娇娃(说一说霹雳娇娃的简介)
- 下一篇: 桂林银行(说一说桂林银行的简介)