幾種負載均衡算法


  本地流量管理技術主要有以下幾種負載均衡算法: 靜態負載均衡算法包括:輪詢,比率,優先權  動態負載均衡算法包括: 最少連接數,最快響應速度,觀察方法,預測法,動態性能分配,動態服務器補充,服務質量,服務類型,規則模式。  靜態負載均衡算法  ◆輪詢(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值的偏移量)  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM