《大型網站技術架構》讀書筆記三:大型網站核心架構要素

此篇已收錄至《大型網站技術架構》讀書筆記系列目錄貼,點擊訪問該目錄可獲取更多內容。html

1、性能—響應時間決定用戶

(1)瀏覽器端:web

  ①瀏覽器緩存;算法

  ②使用頁面壓縮;數據庫

   PS:Gzip壓縮效率很是高,一般能夠達到70%的壓縮率,也就是說,若是你的網頁有30K,壓縮以後就變成了9K左右。想要啓用Gzip壓縮,提升瀏覽速度,能夠瀏覽這篇文章:http://www.chinaz.com/web/2012/1017/278682.shtmlexpress

  ③合理佈局頁面;瀏覽器

  CSS:把樣式表置於頂部避免使用CSS表達式(expression_r);使用外部JavaScript和CSS;削減JavaScript和CSS;用<link>代替@import;避免使用濾鏡;緩存

   JavaScript:把腳本置於頁面底部;使用外部JavaScript和CSS;削減JavaScript和CSS;剔除重複腳本;減小DOM訪問;開發智能事件處理程序;

  ④減小Cookie傳輸;安全

(2)CDN:內容分發網絡(Content Delivery Network,簡稱CDN)將加速內容分發至離用戶最近的節點,縮短用戶查看對象的延遲,提升用戶訪問網站的響應速度與網站的可用性,解決網絡帶寬小、用戶訪問量大、網點分佈不均等問題。詳情請見百度百科:http://baike.baidu.com/view/8689800.htm?from_id=420951&type=search&fromtitle=CDN&fr=aladdin服務器

(3)應用服務器端:服務器本地緩存和分佈式緩存;網絡

  Memcached簡介:http://baike.baidu.com/view/794242.htm

  Redis簡介:http://baike.baidu.com/view/4595959.htm

(4)服務器集羣技術:Web服務器集羣、數據庫服務器集羣、分佈式緩存服務器集羣等等,經過部署多臺服務器共同對外提供同類服務,提升總體處理能力。

(5)數據庫服務器端:

  ①索引:索引(index)是對數據庫表中一個或多個列(例如,employee 表的姓氏 (name) 列)的值進行排序的結構。若是想按特定職員的姓來查找他或她,則與在表中搜索全部的行相比,索引有助於更快地獲取信息。

 PS:要注意的是,創建太多的索引將會影響更新和插入的速度,由於它須要一樣更新每一個索引文件。

  ②緩存:數據庫緩存是介於應用程序和物理數據源之間,其做用是爲了下降應用程序對數據庫的物理數據源訪問的頻次,從而提升了應用的運行性能。

  ③SQL優化:當一個基於數據庫的應用程序運行起來很慢時,90%的可能都是因爲數據訪問程序的問題,要麼是沒有優化,要麼是沒有按最佳方法編寫代碼,所以你須要審查和優化你的數據訪問/處理程序。具體能夠瀏覽這篇文章:http://www.cnblogs.com/Shaina/archive/2012/04/22/2464576.html

  ④NoSQL:方興未艾的NoSQL數據庫經過優化數據模型、存儲結構、伸縮性等手段在性能方面的優點日趨明顯。

2、可用性—你能保證幾個9?

(1)如何衡量可用性?全靠9來撐腰:幾乎全部網站都承諾7*24小時可用,但事實上都不可能徹底實現,總會有一些故障時間。那麼,去除這些故障時間就是網站的總可用時間。換算成網站的可用性指標,以此衡量網站的可用性,例如某些知名網站可用性達到99.99%

(2)哪些手段提升可用性?

  ①核心:冗餘-各服務器互相備份保證總體可用;

  ②應用服務器端:經過負載均衡設備創建集羣,其中一臺宕機當即切換到其餘服務器繼續提供服務,這就保證了高可用性。

  ③存儲服務器端:須要對數據進行實時備份,當某臺宕機當即將數據訪問請求轉換到其餘服務器上,並進行數據恢復以保證數據高可用。

3、伸縮性—能屈能伸方爲大丈夫

(1)衡量標準:

  ①是否能夠多態服務器構建集羣?

  ②是否容易向集羣中添加新服務器?

  ③加入服務器後是否能提供無差異服務?

(2)主要手段:

  ①應用服務器:使用合適的負載均衡設備(硬件仍是軟件?F5仍是LVS+KeepAlived);

  ②緩存服務器:改進緩存路由算法保證緩存數據的可訪問性;

  ③數據庫服務器:經過路由區分等手段將多服務器組成一個集羣;

4、擴展性—不痛不癢之間新業務就上線了

(1)衡量標準:增長新業務時是否能夠實現對現有產品透明無影響(是否須要對現有業務進行修改匹配?);

(2)主要手段:

  ①事件驅動架構:利用消息隊列實現;

  ②分佈式服務:將業務和可複用服務分離;

5、安全性—媽媽不再用擔憂的個人照片了

(1)何爲安全性?保護網站不受惡意訪問和攻擊,保護網站的重要數據不被竊取;

(2)衡量標準:針對現存和潛在的攻擊竊密手段,是否有可靠的應對策略;

本章思惟導圖

 

相關文章
相關標籤/搜索