讀《大型網站技術架構》(一)

1大型網站架構演化

1.1大型網站軟件系統的特色

  • 高併發,大流量
  • 高可用
  • 海量數據
  • 用戶分佈普遍,網絡狀況複雜
  • 安全環境惡劣
  • 需求快速變動,發佈頻繁
  • 漸進式發展

    1.2演化歷程

    初始架構

    沒有太多人訪問,採用LAMP架構,應用程序,文件,數據庫在同一服務器上。數據庫

    應用數據庫分離

    人數增多,單臺服務器性能降低,數據空間不足,須要應用與數據庫分離
    應用服務器:處理大量業務邏輯,須要更強大CPU
    數據庫服務器:快速磁盤檢索和數據緩存,須要更快的硬盤和內存
    文件服務器:存儲大量用戶上傳的文件,須要更大的硬盤緩存

    使用緩存改善網站性能

    業務進一步發展,數據庫壓力增大,致使訪問延遲,使用緩存改善性能
    網站緩存:安全

  • 本地緩存:速度快
  • 遠程緩存:分佈式緩存服務器

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

    單一應用服務器瓶頸,採用多臺服務器,經過負載均衡調度服務器

    數據庫讀寫分離

    數據庫主從熱備,配置主從關係,讀寫分離,改善數據庫負載壓力網絡

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

    CDN和反向代理的基本原理都是緩存,CDN部署在網絡提供商機房,反向代理部署在網站的中心機房架構

    使用分佈式文件系統和分佈式數據庫系統

    分佈式數據庫是網站數據庫拆分最後手段,單表很是龐大時,纔會使用,更經常使用的手段是業務分庫,不一樣業務數據庫部署在不一樣服務器上。併發

    使用NoSQL和搜索引擎

    對數據存儲和檢索需求愈來愈複雜,須要非關係數據庫技術,如NOSQL和非數據庫查詢技術如搜索引擎負載均衡

    業務拆分

    經過分而治之將整個網站業務分紅不一樣的產品線,歸不一樣的業務團隊負責分佈式

    分佈式服務

    經過分佈式服務調用共用業務服務完成具體約爲操做ide

    雲計算平臺

    1.3大型架構演化價值觀

    隨網站所需靈活應對
    大型網站技術發展的主要力量是網站的業務發展

    1.4誤區

    一味追隨大公司解決方案爲技術而技術企圖用技術解決全部問題

相關文章
相關標籤/搜索