轉自:http://xiao1227372602.iteye.com/blog/1898340
幾種負載均衡算法
本地流量管理技術主要有以下幾種負載均衡算法:
靜态負載均衡算法包括:輪詢,比率,優先權
動态負載均衡算法包括: 最少連接配接數,最快響應速度,觀察方法,預測法,動态性能配置設定,動态伺服器補充,服務品質,服務類型,規則模式。
靜态負載均衡算法
◆輪詢(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值的偏移量)
本文轉自夏雪冬日部落格園部落格,原文連結:http://www.cnblogs.com/heyonggang/p/3191841.html,如需轉載請自行聯系原作者