天天看點

第二章 大型網站架構模式第二章 大型網站架構模式

第二章 大型網站架構模式

  1. 網站架構模式
    • 分層
      • 橫向次元切分:應用層、服務層、資料層
      • 單一職責,上下層依賴調用,分層限制(禁止跨層和逆向調用)
    • 分割
      • 縱向次元切分:根據業務子產品劃分
      • 高内聚,低耦合
    • 分布式
      • 分布式應用和服務(複用服務)
      • 分布式靜态資源(動靜分離,如JS, CSS, Logo圖檔等資源)
      • 分布式資料和存儲(傳統關系資料庫和NoSQL産品)
      • 分布式計算(移動計算而不是移動資料,如Hadoop及其MapReduce)
      • 分布式配置(網站線上伺服器配置實時更新)
      • 分布式鎖(分布式環境下實作并發和協同)
      • 分布式檔案(基于雲存儲)
    • 叢集
      • 多台伺服器部署相同應用構成叢集(至少兩台,提高可用性)
      • 負載均衡裝置共同對外提供服務
    • 緩存
      • CDN(内容分發網絡)
        • 網絡服務商處
        • 緩存靜态資源和較少變化且通路量大的資料
        • 未經過應用伺服器
      • 反向代理
        • 網站前端架構的一部分
        • 緩存靜态資源
        • 未經過應用伺服器
      • 本地緩存
        • 應用伺服器本地
        • 緩存熱點資料
        • 應用伺服器直接通路
      • 分布式緩存
        • 分布式緩存叢集中
        • 緩存量大
        • 應用伺服器通過網絡通信通路
      • 緩存的兩個前提條件
        • 資料通路熱點不均衡
        • 資料具有一定的時效性
      • 緩存的好處
        • 加快資料通路速度
        • 減輕後端應用和資料存儲的負載壓力
    • 異步
      • 單一伺服器内部多線程共享記憶體隊列
      • 分布式系統中多個伺服器叢集使用分布式消息隊列(記憶體隊列的分布式部署)
      • 典型的生産者消費者模式
      • 好處
        • 提高系統可用性
        • 加快網站響應速度
        • 消除并發通路高峰
      • 注意
        • 可能對使用者體驗、業務流程造成影響
    • 備援
      • 資料庫冷備份
      • 資料庫熱備份(主從分離同步)
      • 災備資料中心
    • 自動化
      • 釋出過程自動化
        • 自動化代碼管理(版本控制、分支建立合并)
        • 自動化測試(測試、報告、回報)
        • 自動化安全檢測(靜态代碼、運作攻擊)
        • 自動化部署
      • 自動化監控
        • 自動化報警(關鍵資料名額異常)
        • 自動化失效轉移(隔離失效伺服器)
        • 自動化失效恢複(重新開機失效伺服器并同步資料保證資料一緻性)
        • 自動化降級(拒絕部分請求、關閉不重要的服務)
        • 自動化配置設定資源(空閑資源配置設定)
    • 安全
      • 密碼和手機校驗碼(身份認證)
      • 加密(敏感資料)
      • 驗證碼(機器人程式)
      • 過濾(垃圾資訊、敏感資訊)
      • 風險控制(重要操作)

繼續閱讀