高併發的解決方案-隨筆

一、應用與靜態資源分離:

    將靜態資源放到相應的服務器中與應用服務器分離。算法

    這樣作能夠在訪問,圖片,視頻等的時候能夠直接經過相關的域名進行訪問。緩存

二、頁面緩存:

    頁面緩存是將應用生成的頁面緩存起來,這樣就不須要每次都請求服務器,能夠節省大量CPU,若是將緩存的頁面放在內存中就更快。tomcat

    那一些常常變更的數據怎麼辦呢?服務器

    能夠經過AJAX來讀取修改相應數據。session

三、集羣分佈式

    集羣和分佈式都是使用多臺服務器進行處理;負載均衡

    集羣:分佈式

        每臺服務器都具備相同的功能,處理請求調用哪臺服務器均可以,主要起到分流的做用。性能

        集羣有兩種方式:一種是靜態資源集羣。另外一種是應用程序集羣。spa

        應用程序集羣中 最重要的是Session,session同步是集羣的一個很是核心的問題。Session同步用兩種處理方式:一種是在session發生變化後自動同步到其餘服務器,另外一種是經過統一程序管理session。全部集羣都使用同一個session。tomcat默認使用第一種。集羣中還有一個核心問題就是負載均衡,即把負載壓力根據某種算法合理分配到集羣中的每一臺計算機上,以減輕主服務器的壓力,下降對主服務器的硬件和軟件要求。代理

        集羣系統(Cluster)主要解決下面幾個問題: 
            高可靠性(HA):利用集羣管理軟件,當主服務器故障時,備份服務器可以自動接管主服務器的工做,並及時切換過去,以實現對用戶的不間斷服務。 
            高性能計算(HP):即充分利用集羣中的每一臺計算機的資源,實現複雜運算的並行處理,一般用於科學計算領域,好比基因分析,化學分析等。 

    分佈式:

        將不一樣的業務放到不一樣的服務器中,處理一個請求可能須要多臺服務器,這樣能夠提升一個請求的處理速度。

    固然,集羣和分佈式是能夠同時使用的。

四、反向代理:

    反向代理指的是客戶端訪問的服務器並不是真正提供服務,而是從其餘服務器獲取資源返回給客戶。

  五、CDN:

       CDN是一個特殊的集羣頁面緩存服務器。CDN分佈在全國各地,當接受用戶請求時分配最合適的CDN服務器獲取數據。

相關文章
相關標籤/搜索