大型網絡技術架構3
2020.3.14
分層
最常見的架構模式,將系統在橫向維度上切分成幾個部分,每個部分單一職責。網站一般分爲三個層次:應用層、服務層和數據層,過分層,一個龐大系統切分成不同部分,便於分工合作和維護。
分割:
分割是在縱向方面對軟件進行切分->將不同的功能和服務分割開來,包裝成高內聚低耦合的模塊單元,有助於軟件開發和維護,還便於不同模塊的分佈式部署,提高網站的併發處理能力和功能擴展能力。
分佈式
①分佈式應用和服務:應用和服務模塊分佈式部署,便於業務功能擴展;
②分佈式靜態資源:JS、CSS、LOGO圖片等資源獨立部署,採用獨立域名->動靜分離;
③分佈式數據和存儲:傳統RDBMS分佈式部署和NoSQL產品;
④分佈式計算:Hadoop及其MapReduce分佈式計算框架,其特點是移動計算而不是移動數據。
緩存
緩存是改善軟件性能的第一手段。在複雜的軟件設計中,緩存幾乎無處不在。
①CDN:內容分發網絡,緩存網站的一些靜態資源;
②反向代理:部署在網站的前端,最先訪問到的就是反向代理服務器;
③本地緩存:在應用服務器本地緩存熱點數據,無需訪問數據庫;
④分佈式緩存:應用程序通過網絡通信訪問緩存數據;
業務之間的消息傳遞不是同步調用,而是將一個業務操作分成多個階段,每個階段之間通過共享數據的方式異步執行進行協作。