F5負載均衡算法及基本原理 .

BIGIP支持以下負載均衡選項:

l        輪詢(RoundRobin

順序循環將請求一次順序循環地連接每個服務器。當其中某個服務器發生第二到第層的故障,BIG/IP 就把其從順序循環隊列中拿出,不參加下一次的輪詢,直到其恢復正常。

l        最小的連接數(LeastConnection

傳遞新的連接給那些進行最少連接處理的服務器。當其中某個服務器發生第二到第層的故障,BIG/IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

l        最快模式(Fastest

傳遞連接給那些響應最快的服務器。當其中某個服務器發生第二到第7層的故障,BIG/IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

l        觀察模式(Observed):

連接數目和響應時間以這兩項的最佳平衡爲依據爲新的請求選擇服務器。當其中某個服務器發生第二到第層的故障,BIG/IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。

l        預測模式(Predictive):

BIG/IP 利用收集到的服務器當前的性能指標,進行預測分析,選擇一臺服務器在下一個時間片內,其性能將達到最佳的服務器相應用戶的請求。(BIGIP 進行檢測

l        動態比率(Dynamic Ratio):

BIGIP 通過 Agent 或者 SNMP 收集服務器的 CPU 佔用率、內存佔用率、磁盤佔用率等系統關鍵參數,並按照比率來對這些參數進行計算,最終得出服務器的性能狀況來進行流量分配。

 

負載均衡算法-文字說明
2008-03-13 18:12

考慮到服務請求的不同類型、服務器的不同處理能力以及隨機選擇造成的負載分配不均勻等問題,爲了更加合理的把負載分配給內部的多個服務器,就需要應用相應的能夠正確反映各個服務器處理能力及網絡狀態的負載均衡算法:

輪循均衡(Round Robin):每一次來自網絡的請求輪流分配給內部中的服務器,從1至N然後重新開始。此種均衡算法適合於服務器組中的所有服務器都有相同的軟硬件配置並且平均服務請求相對均衡的情況。


權重輪循均衡(Weighted Round Robin):根據服務器的不同處理能力,給每個服務器分配不同的權值,使其能夠接受相應權值數的服務請求。例如:服務器A的權值被設計成1,B的權值是3,C的權值是6,則服務器A、B、C將分別接受到10%、30%、60%的服務請求。此種均衡算法能確保高性能的服務器得到更多的使用率,避免低性能的服務器負載過重。


隨機均衡(Random):把來自網絡的請求隨機分配給內部中的多個服務器。


權重隨機均衡(Weighted Random):此種均衡算法類似於權重輪循算法,不過在處理請求分擔時是個隨機選擇的過程。


響應速度均衡(Response Time):負載均衡設備對內部各服務器發出一個探測請求(例如Ping),然後根據內部中各服務器對探測請求的最快響應時間來決定哪一臺服務器來響應客戶端的服務請求。此種均衡算法能較好的反映服務器的當前運行狀態,但這最快響應時間僅僅指的是負載均衡設備與服務器間的最快響應時間,而不是客戶端與服務器間的最快響應時間。


最少連接數均衡(Least Connection):客戶端的每一次請求服務在服務器停留的時間可能會有較大的差異,隨着工作時間加長,如果採用簡單的輪循或隨機均衡算法,每一臺服務器上的連接進程可能會產生極大的不同,並沒有達到真正的負載均衡。最少連接數均衡算法對內部中需負載的每一臺服務器都有一個數據記錄,記錄當前該服務器正在處理的連接數量,當有新的服務連接請求時,將把當前請求分配給連接數最少的服務器,使均衡更加符合實際情況,負載更加均衡。此種均衡算法適合長時處理的請求服務,如FTP。


處理能力均衡:此種均衡算法將把服務請求分配給內部中處理負荷(根據服務器CPU型號、CPU數量、內存大小及當前連接數等換算而成)最輕的服務器,由於考慮到了內部服務器的處理能力及當前網絡運行狀況,所以此種均衡算法相對來說更加精確,尤其適合運用到第七層(應用層)負載均衡的情況下。


DNS響應均衡(Flash DNS):在Internet上,無論是HTTP、FTP或是其它的服務請求,客戶端一般都是通過域名解析來找到服務器確切的IP地址的。在此均衡算法下,分處在不同地理位置的負載均衡設備收到同一個客戶端的域名解析請求,並在同一時間內把此域名解析成各自相對應服務器的IP地址(即與此負載均衡設備在同一位地理位置的服務器的IP地址)並返回給客戶端,則客戶端將以最先收到的域名解析IP地址來繼續請求服務,而忽略其它的IP地址響應。在種均衡策略適合應用在全局負載均衡的情況下,對本地負載均衡是沒有意義的。

 

2010年04月09日 星期五 17:11



  我們知道,負載均衡器在負載均衡設備中的作用是至關重要的,它起着承上啓下的作用。一方面接收用戶的網絡請求,一方面把請求按照某種算法轉接到特定的應用服務器中,實現負載均衡。所以,負載均衡器中的算法是至關重要的。大多數負載均衡設備實現了以下多種算法。

  1、輪詢調度

  輪詢調度(Round Robin Scheduling)算法就是以輪詢的方式依次將請求調度到不同的服務器,即每次調度執行i = (i + 1) mod n,並選出第i臺服務器。算法的優點是其簡潔性,它無需記錄當前所有連接的狀態,所以它是一種無狀態調度。

  在實際實現過程中,一般會爲每臺服務器設定一個權重值,這就是權重輪詢調度算法。

   
 2、最小連接調度(Least-Connection Scheduling)

  最小連接調度(Least-Connection Scheduling)算法是把新的連接請求分配到當前連接數最小的服務器。最小連接調度是一種動態調度算法,它通過服務器當前所活躍的連接數來估計服務器的負載情況。

  在實際實現過程中,一般會爲每臺服務器設定一個權重值,這就是加權最小連接調度(Weighted Least-Connection Scheduling)

  
3、 基於局部性的最少鏈接(LBLC)

  基於局部性的最少鏈接調度(Locality-Based Least Connections Scheduling,以下簡稱爲LBLC)算法是針對請求報文的目標IP地址的負載均衡調度,目前主要用於Cache集羣系統,因爲在Cache集羣中客戶請求報文的目標IP地址是變化的。

  LBLC調度算法先根據請求的目標IP地址找出該目標IP地址最近使用的服務器,若該服務器是可用的且沒有超載,將請求發送到該服務器; 若服務器不存在,或服務器超載或有服務器處於其一半的工作負載,則用“最少鏈接”的原則選出一個可用的服務器,將請求發送到該服務器。

   4、帶複製的基於局部性最少鏈接(LBLCR)

  帶複製的基於局部性最少鏈接調度(Locality-Based Least Connections with Replication Scheduling,以下簡稱爲LBLCR)算法也是針對目標IP地址的負載均衡,目前主要用於Cache集羣系統。它與LBLC算法的不同之處是它要維護從一個目標IP地址到一組服務器的映射,而LBLC算法維護從一個目標IP地址到一臺服務器的映射。

  LBLCR調度算法將“熱門”站點映射到一組Cache服務器(服務器集合),當該“熱門”站點的請求負載增加時,會增加集合裏的Cache服務器,來處理不斷增長的負載; 當該“熱門”站點的請求負載降低時,會減少集合裏的Cache服務器數目。這樣,該“熱門”站點的映像不太可能出現在所有的Cache服務器上,從而提供Cache集羣系統的使用效率。

  
5、目標地址散列調度(Destination Hashing Scheduling)

  目標地址散列調度(Destination Hashing Scheduling)算法是針對目標IP地址的負載均衡,但它是一種靜態映射算法,通過一個散列(Hash)函數將一個目標IP地址映射到一臺服務器。

  目標地址散列調度算法先根據請求的目標IP地址,作爲散列鍵(Hash Key)從靜態分配的散列表找出對應的服務器,若該服務器是可用的且未超載,將請求發送到該服務器,否則返回空。

  
6、 源地址散列調度(Source Hashing Scheduling)

  和目標地址散列調度類似,唯一的區別是按照源地址爲散列函數的散列鍵。

  在實際應用中,源地址散列調度和目標地址散列調度可以結合使用在防火牆集羣中,它們可以保證整個系統的唯一出入口。
 
 
發佈了62 篇原創文章 · 獲贊 8 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章