1. 程式人生 > >《大型網站技術架構》——第一章 大型網站架構演化

《大型網站技術架構》——第一章 大型網站架構演化

初始階段的網站架構

應用程式、資料庫、檔案等所有等資源都在一臺伺服器上。

應用服務和資料服務分離

三臺伺服器:應用伺服器、檔案伺服器和資料庫伺服器。
三臺伺服器對硬體資源對要求各不相同:

  • 應用伺服器需要處理大量的業務邏輯,因此需要更快更強大的CPU
  • 檔案伺服器需要儲存大量使用者上傳的檔案,因此需要更大的硬碟
  • 資料庫伺服器需要快速磁碟檢索和資料快取,因此需要更快的磁碟和更大的記憶體

使用快取改善網站效能

80%的業務訪問集中在20%的資料上。
本地快取和分散式伺服器上的遠端快取

使用應用伺服器叢集改善網站的併發處理能力

通過負責均衡排程伺服器,將請求分發到應用伺服器叢集中的任一伺服器上。

資料庫讀寫分離

主從複製

使用反向代理和CDN加速網站響應

基本原理都是快取
目的都是儘早返回資料給使用者,一方面加快使用者訪問速度,另一方面減輕後端伺服器的負載壓力
CDN部署在網路提供商的機房
反向代理部署在網站的中心機房

使用分散式檔案系統和分散式資料庫系統

使用NoSQL和搜尋引擎

業務拆分

分散式服務

將共用的業務提取出來,獨立部署。
事物發展到一定階段,就會擁有自身的發展衝動,擺脫其初衷,向著使自己更強大的方向發展。
網站的價值在於它能為使用者提供什麼價值,在於網站能做什麼,而不在於它是怎麼做的,所以在網站還很小的時候就去追求網站的架構是捨本逐末,得不償失的。小型網站最需要做的就是為使用者提供好的服務來創造價值,得到使用者的認可,活下去,野蠻生長。


驅動大型網站技術發展的主要力量是網站的業務發展。
是業務成就了技術,是事業成就了人,而不是相反。
網站架構設計誤區:

  • 一味追隨大公司的解決方案。
  • 為了技術而技術。
  • 企圖用技術解決所有問題。