幾種負載均衡算法

  本地流量管理技術主要有如下幾種負載均衡算法: 靜態負載均衡算法包括:輪詢,比率,優先權  動態負載均衡算法包括: 最少鏈接數,最快響應速度,觀察方法,預測法,動態性能分配,動態服務器補充,服務質量,服務類型,規則模式。  靜態負載均衡算法  ◆輪詢(Round Robin):順序循環將請求一次順序循環地鏈接每一個服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP 就把其從順序循環隊列中拿出,不參加下一次的輪詢,直到其恢復正常。  ◆比率(Ratio):給每一個服務器分配一個加權值爲比例,根椐這個比例,把用戶的請求分配到每一個服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配, 直到其恢復正常。 ◆優先權(Priority):給全部服務器分組,給每一個組定義優先權,BIG-IP 用戶的請求,分配給優先級最高的服務器組(在同一組內,採用輪詢或比率算法,分配用戶的請求);當最高優先級中全部服務器出現故障,BIG-IP 纔將請求送給次優先級的服務器組。這種方式,實際爲用戶提供一種熱備份的方式。  動態負載均衡算法  ◆最少的鏈接方式(Least Connection):傳遞新的鏈接給那些進行最少鏈接處理的服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配, 直到其恢復正常。 ◆最快模式(Fastest):傳遞鏈接給那些響應最快的服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP 就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。  ◆觀察模式(Observed):鏈接數目和響應時間以這兩項的最佳平衡爲依據爲新的請求選擇服務器。當其中某個服務器發生第二到第7 層的故障,BIG-IP就把其從服務器隊列中拿出,不參加下一次的用戶請求的分配,直到其恢復正常。 ◆預測模式(Predictive):BIG-IP利用收集到的服務器當前的性能指標,進行預測分析,選擇一臺服務器在下一個時間片內,其性能將達到最佳的服務器相應用戶的請求。(被BIG-IP 進行檢測)  ◆動態性能分配(Dynamic Ratio-APM):BIG-IP 收集到的應用程序和應用服務器的各項性能參數,動態調整流量分配。  ◆動態服務器補充(Dynamic Server Act.):當主服務器羣中因故障致使數量減小時,動態地將備份服務器補充至主服務器羣。  ◆服務質量(QoS):按不一樣的優先級對數據流進行分配。  ◆服務類型(ToS): 按不一樣的服務類型(在Type of Field中標識)負載均衡對數據流進行分配。 ◆規則模式:針對不一樣的數據流設置導向規則,用戶可自行。   負載均衡對應本地的應用交換,你們能夠經過對上述負載均衡算法的理解, 結合實際的需求來採用合適你的負載均衡算法,咱們經常使用到的通常是最少鏈接數、最快反應、或者輪詢,決定選用那種算法, 主要仍是要結合實際的需求。    服務器負載均衡算法  有不少(持續性的和非持續性的),包括輪循算法、最少鏈接算法、響應時間算法、散列算法、最少鏈接失誤算法,鏈路帶寬算法等等。此外實際服務器(Real Server)能夠被分配不一樣的加權值來調整被分配的流量。好比性能高的大型服務器可配置較大的加權值,而爲性能較低的小型服務器設置較小的加權值。爲了不服務器因過載而崩潰,可爲實際服務器指定最大鏈接閾值來避免該服務器過載。任何服務器可被指定爲另外一臺服務器的備份服務器或溢出服務器,從而進一步保證了應用可用性。        非持續性算法(Non-Persistent):一個客戶端的不一樣的請求可能被分配到一個實際服務組中的不一樣的實服務器上進行處理。主要有輪循算法、最少鏈接算法、響應速度算法等。      輪循算法(Round Robin):說明:    每一次來自網絡的請求輪流分配給內部中的每臺服務器,從1至N而後從新開始。舉例:    此種均衡算法適合於服務器組中的全部服務器都有相同的軟硬件配置而且平均服務請求相對均衡的狀況;     最少鏈接算法(Least Connection):說明:    客戶端的每一次請求服務在服務器停留的時間均可能會有較大的差別,隨着工做時間的加長,若是採用簡單的輪循或隨機均衡算法,每一臺服務器上的鏈接進程可能會產生極大的不一樣,這樣的結果並不會達到真正的負載均衡。最少鏈接數均衡算法對內部中有負載的每一臺服務器都有一個數據記錄,記錄的內容是當前該服務器正在處理的鏈接數量,當有新的服務鏈接請求時,將把當前請求分配給鏈接數最少的服務器,使均衡更加符合實際狀況,負載更加均衡。  此種負載均衡算法適合長時間處理的請求服務。       響應速度算法(Response Time):說明:    負載均衡設備對內部各服務器發出一個探測請求(例如Ping),而後根據內部中各服務器對探測請求的最快響應時間來決定哪一臺服務器來響應客戶端的服務請求。舉例:    此種均衡算法能較好地反映服務器的當前運行狀態,但最快響應時間僅僅指的是負載均衡設備與服務器間的最快響應時間,而不是客戶端與服務器間的最快響應時間。     持續性算法(Persistent):    從一個特定的客戶端發出的請求都被分配到一個實服務組中的同一個實服務器上進行處理。主要包括:A.基於IP的算法-Persistent IP (pi):基於用戶IP地址來選擇服務器。-Hash IP (hi) :基於用戶IP地址的HASH值,來選擇服務器-Consistent Hash IP (chi):B.基於報頭/請求的算法-Hash Header (hh):基於用戶請求報中HTTP報頭來選擇服務器;-Persistent Hostname (ph) :基於用戶請求報中HTTP報頭的Hostname的HASH值,來選擇服務器;-Persistent URL (pu):基於對URI Tag 和值的靜態對應關係來選擇服務器。-SSL Session ID (sslsid):基於SSL會話ID來選擇服務器。C.基於Cookie的算法-Persistent Cookie (pc) : 選擇服務器基於用戶請求包用Cookie Name / Value 的靜態對應關係; -Hash Cookie (hc) :選擇服務器基於用戶請求包用Cookie Name / Value 的Hash 值對應關係;-Insert Cookie (ic) :選擇服務器基於負載均衡器 向服務器響應包中插入Cookie;-Re-write Cookie (rc):選擇服務器基於負載均衡器向服務器響應包中重寫Cookie值。(必須爲重寫指定Cookie值的偏移量)  算法

相關文章
相關標籤/搜索