負載均衡演算法

2021-09-06 10:55:46 字數 3042 閱讀 1830

**:

幾種負載均衡演算法

本地流量管理技術主要有以下幾種負載均衡演算法:

靜態負載均衡演算法包括:輪詢,比率,優先權

動態負載均衡演算法包括: 最少連線數,最快響應速度,觀察方法,**法,動態效能分配,動態伺服器補充,服務質量,服務型別,規則模式。

靜態負載均衡演算法

◆輪詢(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值的偏移量)

負載均衡演算法

輪循演算法 roundrobin 說明 每一次來自網路的請求輪流分配給內部中的每台伺服器,從1至n然後重新開始 舉例 適合於伺服器組中的所有伺服器都有相同的軟硬體配置並且平均服務請求相對均衡的情況 最少連線演算法 leastconnection 說明 客戶端的每一次請求服務在伺服器停留的時間都可能會...

負載均衡演算法

網際網路分布式系統中,很多服務是資料儲存相關的,海量訪問量下,直接訪問儲存介質是抗不住的,需要使用cache,cache集群的負載均衡演算法就成為乙個重要的話題,這裡對現有的負載均衡演算法進行一些總結。btw 雖然是cache負載均衡演算法小結,其實可以說是負載均衡演算法小結,只是針對cache應用...

負載均衡演算法

負載均衡演算法的實現可以分成兩部分 1 根據負載均衡演算法和web伺服器列表計算得到集群中一台web伺服器的位址 2 將請求資料傳送到該位址對應的web伺服器上 負載均衡演算法通常有以下幾種 1 輪詢 round robin rr 所有請求被依次分發到每台應用伺服器上,即每台應用伺服器要處理的請求數...