web服務器負載均衡與集羣基本概念二

  前面已經說過負載均衡的做用是在多個節點之間按照必定的策略(算法)分發網絡或計算處理負載。負載均衡能夠採用軟件和硬件來實現。通常的框架結構能夠參考下圖。
   

 後臺的多個Web節點上面有相同的Web應用,用戶的訪問請求首先進入負載均衡分配節點(多是軟件或者硬件),由它根據負載均衡策略(算法)合理地分配給某個Web應用節點。每一個Web節點相同的內容作起來不難,因此選擇負載均衡策略(算法)是個關鍵問題。下面會專門介紹均衡算法。

  
web負載均衡的做用就是把請求均勻的分配給各個節點,它是一種動態均衡,經過一些工具實時地分析數據包,掌握網絡中的數據流量情況,把請求理分配出去。對於不一樣的應用環境(如電子商務網站,它的計 算負荷大;再如網絡數據庫應用,讀寫頻繁,服務器的存儲子系統系統面臨很大壓力;再如視頻服務應用,數據傳輸量大,網絡接口負擔重壓。),使用的均衡策略(算法)是不一樣的。 因此均衡策略(算法)也就有了多種多樣的形式,廣義上的負載均衡既能夠設置專門的網關、負載均衡器,也能夠經過一些專用軟件與協議來實現。在OSI七層協議模型中的第二(數據鏈路層)、第三(網絡層)、第四(傳輸層)、第七層(應用層)都有相應的負載均衡策略(算法),在數據鏈路層上實現負載均衡的原理是根據數據包的目的MAC地址選擇不一樣的路徑;在網絡層上可利用基於IP地址的分配方式將數據流疏通到多個節點;而傳輸層和應用層的交換(Switch),自己即是一種基於訪問流量的控制方式,可以實現負載均衡。
   目前,基於負載均衡的算法主要有三種:輪循(Round-Robin)、最小鏈接數(Least Connections First),和快速響應優先(Faster Response Precedence)。
  ①輪循算法,就是未來自網絡的請求依次分配給集羣中的節點進行處理。
  ②最小鏈接數算法,就是爲集羣中的每臺服務器設置一個記數器,記錄每一個服務器當前的鏈接數,負載均衡系統老是選擇當前鏈接數最少的服務器分配任務。 這要比"輪循算法"好不少,由於在有些場合中,簡單的輪循不能判斷哪一個節點的負載更低,也許新的工做又被分配給了一個已經很忙的服務器了。
  ③快速響應優先算法,是根據羣集中的節點的狀態(CPU、內存等主要處理部分)來分配任務。 這一點很難作到,事實上到目前爲止,採用這個算法的負載均衡系統還不多。尤爲對於硬件負載均衡設備來講,只能在TCP/IP協議方面作工做,幾乎不可能深刻到服務器的處理系統中進行監測。可是它是將來發展的方向。

  
 上面是負載均衡經常使用的算法,基於以上負載均衡算法的使用方式上,又分爲以下幾種:

  一、DNS輪詢
   
最先的負載均衡技術是經過DNS來實現的,在DNS中爲多個地址配置同一個名字,於是查詢這個名字的客戶機將獲得其中一個地址,從而使得不一樣的客戶訪問不一樣的服務器,達到負載均衡的目的。 

   DNS負載均衡是一種簡單而有效的方法,可是它不能區分服務器的差別,也不能反映服務器的當前運行狀態。當使用DNS負載均衡的時候,必須儘可能保證不一樣的 客戶計算機能均勻得到不一樣的地址。因爲DNS數據具有刷新時間標誌,一旦超過這個時間限制,其餘DNS服務器就須要和這個服務器交互,以從新得到地址數 據,就有可能得到不一樣IP地址。所以爲了使地址能隨機分配,就應使刷新時間儘可能短,不一樣地方的DNS服務器能更新對應的地址,達到隨機得到地址,然而將過 期時間設置得太短,將使DNS流量大增,而形成額外的網絡問題。DNS負載均衡的另外一個問題是,一旦某個服務器出現故障,即便及時修改了DNS設置,仍是 要等待足夠的時間(刷新時間)才能發揮做用,在此期間,保存了故障服務器地址的客戶計算機將不能正常訪問服務器
  二、反向代理服務器
    
使用代理服務器,能夠將請求轉發給內部的服務器,使用這種加速模式顯然能夠提高靜態網頁的訪問速度。然而,也能夠考慮這樣一種技術,使用代理服務器將請求均勻轉發給多臺服務器,從而達到負載均衡的目的。 

   這種代理方式與普通的代理方式有所不一樣,標準代理方式是客戶使用代理訪問多個外部服務器,而這種代理方式是代理多個客戶訪問內部服務器,所以也被稱爲反向代理模式。雖然實現這個任務並不算是特別複雜,然而因爲要求特別高的效率,實現起來並不簡單。 

   使用反向代理的好處是,能夠將負載均衡和代理服務器的高速緩存技術結合在一塊兒,提供有益的性能。然而它自己也存在一些問題,首先就是必須爲每一種服務都專門開發一個反向代理服務器,這就不是一個輕鬆的任務。 

   代理服務器自己雖然能夠達到很高效率,可是針對每一次代理,代理服務器就必須維護兩個鏈接,一個對外的鏈接,一個對內的鏈接,所以對於特別高的鏈接請求, 代理服務器的負載也就很是之大。反向代理方式下能應用優化的負載均衡策略,每次訪問最空閒的內部服務器來提供服務。可是隨着併發鏈接數量的增長,代理服務 器自己的負載也變得很是大,最後反向代理服務器自己會成爲服務的瓶頸。
  
  三、
地址轉換網關
    支持負載均衡的地址轉換網關,能夠將一個外部IP地址映射爲多個內部IP地址,對每次TCP鏈接請求動態使用其中一個內部地址,達到負載均衡的目的。不少 硬件廠商將這種技術集成在他們的交換機中,做爲他們第四層交換的一種功能來實現,通常採用隨機選擇、根據服務器的鏈接數量或者響應時間進行選擇的負載均衡 策略來分配負載。因爲地址轉換相對來說比較接近網絡的低層,所以就有可能將它集成在硬件設備中,一般這樣的硬件設備是局域網交換機。web

相關文章
相關標籤/搜索