二:網站的架構模式

模式最重要的是能夠重用css

爲了解決高併發,海量數據,高可用提出了不少解決方案實現高可用,高性能,易擴展,可伸縮,安全的架構前端

分層:sql

    程序上分層,並且也分層不是數據庫

分割:緩存

    縱向節分,按功能和服務包裝秤高耦合低內聚的模塊單元,這樣一方面有利於開發維護,並且還有利於提供併發能力安全

    好比網站能夠分爲購物,論壇,搜過,廣告,再細緻一點可能就是小家電,你們電,機票,酒店,日化等等服務器

分佈式:網絡

    分層和分割一個重要做用就是分佈式,經過遠程調用,提升系統處理能力架構

    可是隨之帶來了網絡耗損,系統一致性,更大的宕機風險。併發

    常見的解決方案有:

        分佈式應用服務:改善併發性,減小數據庫鏈接資源,還能夠更好的服用服務,有利於後續擴展

        分佈式靜態資源:使用獨立域名,減小服務器壓力

        分佈式數據存儲:如今數據量太大,主要是nosql

        分佈式細算:如今有hadoop,通常作數據分析,還有基於流計算的storm,主要用於實時計算

        分佈式鎖:主要用於分佈式環境下的協同操做,如今主要是zk提供的分佈式鎖功能比較好

        分佈式文件系統:通常用做雲存儲

集羣:

    對外提供一個接口,使用負載均衡,同時避免了單點故障

緩存:

    將數據存放到離計算最近的位置加快速度

    CDN:內容分發網絡,放在網絡運營商那裏,存放一些靜態資源,好比js,css
    反向代理:網站前端,也能夠存放一些靜態資源

    本地緩存:存儲熱點數據

    分佈式緩存:熱點數據存儲在分佈式緩存中,減小應用和數據庫的壓力

異步:

    下降了系統的耦合性,將業務拆分爲多個階段,單機狀況下可使用共享數據的方式,分佈式環境下可使用消費通訊,典型的消費者生產者模式

    此外還有如下特徵:

    提供系統可用性,消費者故障了,消息就會存儲起來,系統總體表現無恙,生產者恢復了從新消費

    加快了相應速度

    消除業務的高峯期,無論併發有多大,後臺消費者仍是有序的處理

相關文章
相關標籤/搜索