負載均衡

負載均衡
--建立在現有網絡架構之上,提供了一種廉價、有效、透明的方法,來拓展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據的處理能力,提高網絡的靈活性和可用性。
--爲現有的服務器資源橫向擴容提供了更好的可能性。
--最大的好處不在於增加了服務器的性能,而是在某服務器失效後,自動切換,仍然維持業務的正常進行。

負載均衡選取的後面的服務器的策略有多種:
    輪詢: 這個最簡單,就是一個挨一個輪換。
    加權輪詢: 爲了應對某些服務器性能好,可以讓他們的權重高一點,被選中的機率大一點。
    最少連接: 哪個服務器處理的連接少,就發給誰。
    加權最少連接:在最少連接的基礎上,也加上權重


負載均衡原理:
    1、前期只有一臺服務器,但隨着業務的拓展,一臺服務器不足以支撐業務量的需求,因此考慮服務器擴容。
        擴容方法:
            1、縱向拓展:更換性能更好的設備。這樣的缺點就是舊設備無法被使用,或者是用於冗餘作用。沒有充分利用現有的資源。
            2、橫向拓展:增加服務器的數量。同時使用幾臺服務器,再利用負載均衡技術,達到最優的資源利用率。
            
    2、開始是用DNS負載均衡技術,但由於客戶端會有DNS緩存,且不會隨着而實時更新,對服務器的訪問應用不佳。
    
    3、後面的技術發展:客戶端的流量首先會到達負載均衡服務器,由負載均衡服務器通過一定的調度算法將流量分發到不同的應用服務器上面,
        同時負載均衡服務器也會對應用服務器做週期性的健康檢查,當發現故障節點時便動態的將節點從應用服務器集羣中剔除,以此來保證應用的高可用。
        
        
負載均衡的兩種種類:
    1、四層負載均衡
        --主要通過報文中的目標地址和端口,再加上負載均衡設備設置的服務器選擇方式,決定最終選擇的內部服務器。
        --四層負載均衡工作在OSI模型的傳輸層,主要工作是轉發,它在接收到客戶端的流量以後通過修改數據包的地址信息將流量轉發到應用服務器。
        例子:
            --以常見的TCP爲例,負載均衡設備在接收到第一個來自客戶端的SYN 請求時,即通過上述方式選擇一個最佳的服務器,
              並對報文中目標IP地址進行修改(改爲後端服務器IP),直接轉發給該服務器。TCP的連接建立,即三次握手是客戶端和服務器直接建立的,
              負載均衡設備只是起到一個類似路由器的轉發動作。在某些部署情況下,爲保證服務器回包可以正確返回給負載均衡設備,
              在轉發報文的同時可能還會對報文原來的源地址進行修改。    
    2、七層負載均衡
        --七層負載均衡工作在OSI模型的應用層,因爲它需要解析應用層流量,所以七層負載均衡在接到客戶端的流量以後,還需要一個完整的TCP/IP協議棧。
            七層負載均衡會與客戶端建立一條完整的連接並將應用層的請求流量解析出來,再按照調度算法選擇一個應用服務器,並與應用服務器建立另外一條連接將請求發送過去,
            因此七層負載均衡的主要工作就是代理。
        --七層負載均衡設備對於客戶端,對於服務器都需要建立一次TCP連接,而不是客戶端和服務器直接進行TCP的三次握手    
    
    3、四層和七層負載均衡的對比
        --七層相對四層負載均衡來說,對設備性能要求更高,同時處理流量進行合理選擇更優的服務器問題上相對較低於四層。
        --對於攻擊而言,7層負載均衡做得更好,比如SYN Flood攻擊,如果是四層負載均衡,會被傳到後臺的服務器,而七層則會對SYN進行截止。
        --四層更多是tcp協議的應用,更多用於基於C/S開發模式的系統;而七層則是http協議,更多基於B/S模式開發的系統。
        
        
我們公司的產品,是2-7層的負載均衡。
        
部署模式:
    透明模式(當服務器需要知道客戶端的IP地址信息時採用該模式)
    反向代理模式(默認部署模式)
    三角傳輸模式(數據鏈路負載均衡模式)(更多應用場景是流媒體,因爲請求很小,響應很大)(唯一的請求和響應路徑傳輸不一樣的模式)
        
        
          
    
    
   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章