方 彪(南京理工大學,南京 210000)
?
幾種負載均衡算法
方彪
(南京理工大學,南京210000)
摘 要:負載平衡,負載平衡即將到來之評估是多個操作單元上執(zhí)行,如Web服務器,F(xiàn)TP服務器,企業(yè)關鍵應用服務器和其他關鍵任務服務器,從而共同完成工作任務?;诂F(xiàn)有網(wǎng)絡結構之負載均衡,它提供了一種廉價且有效之方式來擴展網(wǎng)絡設備和服務器之帶寬,增加吞吐量,提高網(wǎng)絡數(shù)據(jù)處理能力,提高網(wǎng)絡之靈活性和可用性?;诖擞嬎銠C算法之負載均衡算法,旨在提高計算機之工作精度和效率。
關鍵詞:負載平衡;負載均衡;算法
(1)輪詢:請求連接到每一個服務器之順序周期。當其中一個服務器2到7層故障時,BIG-IP把它從順序循環(huán)之隊列提出,不參加下屆輪詢,直到它回復正常。
(2)比率:對每個服務器配置一個加權值比例,按比例配置給每個服務器之用戶請求。當其中一個服務器2到7層故障時,從服務器BIG-IP把它從隊列中提出,用戶不參與下一個請求直到它回復正常。
(3)優(yōu)先權:全部之服務器進行分組,為每個組都給予優(yōu)先級,按BIG-IP用戶之請求,為最高之服務器組給予優(yōu)先級(在同一組內(nèi),采用比率或輪詢之算法,配置請求);當最高優(yōu)先級之所有服務器失敗,BIG-IP對服務器組之第2最高給予優(yōu)先級。以此方式,為用戶提供一個熱備份之實際方法。
(1)最少之連接方式:提供一個新之服務器連接到這些連接是最小之處理。當其中一個服務器2到7層故障時,從服務器BIG-IP把它從隊列中提出,用戶不參與下一個請求直到它回復正常。
(2)最快模式:鏈接到那些通過響應最快之服務器。當其中一個服務器2到7層故障時,從服務器BIG-IP把它從隊列中提出,將用戶不參與下一個請求直到它回復正常。
(3)觀察模式:連接數(shù)和響應時間選擇最佳之平衡,這2個服務器之新請求為基礎。當其中一個服務器2到7層故障時,從服務器BIG-IP把它從隊列中提出,將用戶不參與下一個請求直到它回復正常。
(4)預測模式:BIG-IP服務器使用收集電流之性能指標,通過對用戶請求的預測和分析,選取一個服務器下一時間片以及性能最好之服務器。
(5)動態(tài)性能配置:BIG-IP應用程序配合應用程序服務器進行性能參數(shù)的收集,動態(tài)進行流量配置的調(diào)整。
(6)動態(tài)服務器補充:當主服務器領域因為故障導致數(shù)量減少的時候,實現(xiàn)動態(tài)化將備份服務器添加至于主服務器領域。
(7)服務質(zhì)量:根據(jù)不同之優(yōu)先級配置給數(shù)據(jù)流。
(8)種服務類型:根據(jù)不同之服務類型(在該領域中之類型)來配置數(shù)據(jù)流之負載平衡。
(9)規(guī)則模式:針對不同之數(shù)據(jù)流設置規(guī)則,用戶可以。
負載均衡之應用程序對應本地交換,我們可以通過負載均衡算法之理解,結合實際之需求來使用適當之負載均衡算法,我們常用之是一般之連接數(shù)最少,最快之響應,或輪詢,我們決定用該算法,主要是對實際之需求。
包括輪詢算法,最少連接算法,響應時間算法,散列算法,最少連接算法之錯誤,鏈路帶寬算法等。還可配置不同之權重值來調(diào)整實際服務器(真正之服務器)來調(diào)整流量配置。如高性能之大型服務器,可以配置為一個較大之權重值,同時設置較小之權重值較低之性能之小服務器。為了避免超載導致服務器崩潰,可以指定最大限度的實際服務器,以避免服務器過載。可以指定任何服務器到另一個服務器或備份服務器的溢出,從而進一步確保應用程序的可用性。
非持續(xù)性的算法:不同之請求可被配置給一個實際之服務組不同之真實服務器。有圓羅賓算法,最少連接算法,響應速度算法。
輪循算法:依次將請求調(diào)度不同之服務器以輪詢之方式,就是每次的調(diào)度都執(zhí)行i = (i + 1) mod n次,并現(xiàn)狀出第i臺的服務器。算法之優(yōu)點就是它的簡潔性,因為它不需要記錄現(xiàn)態(tài)中的全部連接之狀態(tài),故其歸類為一種無狀態(tài)的調(diào)度。
最少連接的算法: 每一次客戶端請求之服務可以在服務器之時間有較大之差異,具有較長之工作時間,如果一個簡單之圓羅賓或隨機平衡算法,將每個服務器上之過程可能會產(chǎn)生非常大之差異,這樣之結果將不能實現(xiàn)真正之負載平衡。最小數(shù)目之連接到內(nèi)部之平衡算法在負載每個服務器有一個數(shù)據(jù)記錄,記錄之內(nèi)容是連接之數(shù)量,目前正在處理之服務器,當一個新之服務連接請求,請求將配置給當前連接之服務器數(shù)量最少,使更現(xiàn)實之平衡,更平衡之負載。
響應速度的算法:說明:負載均衡設備向每個內(nèi)部服務器發(fā)送一個探測請求(如ping),然后每個服務器響應時間最快之響應,以確定該服務器響應服務客戶端請求之響應時間。舉例:這樣之平衡算法能更好地反映服務器之當前運行狀態(tài),但只有最快之響應時間是指負載平衡設備和服務器響應時間最快,而不是客戶之間之響應時間最快之客戶端和服務器之間。
持續(xù)性算法:特定客戶端之請求被配置到一個真實之服務組中,與一個真實之服務器處理。主要包括:
(1)基于IP之算法:基于用戶IP地址來進行服務器的選擇。-Hash IP (hi) :基于用戶IP地址之HASH值,來進行服務器的選擇:
(2)基于請求/報頭之算法-Hash Header:進行服務器的選擇是通過用戶請求報中HTTP之報頭;Persistent Hostname :服務器的選擇是根據(jù)用戶的請求中HTTP報頭之HASH值;Persistent URL:服務器的選擇是通過對URI Tag 與值之靜態(tài)的對應關系。SSL Session ID :服務器的選擇是根據(jù)SSL會話ID。
(3)基于Cookie之算法-Persistent Cookie: 進行服務器的選擇是通過用戶請求包用Cookie Name / Value 之靜態(tài)對應關系來;-Hash Cookie :進行服務器的選擇是通過用戶請求包用Cookie Name / Value 之Hash 值對應關系;-Insert Cookie :進行服務器的選擇是通過負載均衡器,向服務器響應包中插入Cookie;-Rewrite Cookie :進行服務器的選擇是通過負載均衡器向服務器響應包中重寫Cookie值。
參考文獻:
[1]李文中,郭勝,許平,陸桑璐,陳道蓄.服務組合中一種自適應的負載均衡算法[J].軟件學報,2006(05).
[2]王霜,修保新,肖衛(wèi)東.Web服務器集群的負載均衡算法研究[J].計算機工程與應用,2004(09).
[3]周松泉.一種新的服務器集群負載均衡算法[J].南昌航空大學,2012(05).
[4]田紹亮,左明,吳紹偉.一種改進的基于動態(tài)反饋的負載均衡算法[J].計算機工程與設計,2007(02).
[5]李坤,王百杰.服務器集群負載均衡技術研究及算法比較[J].計算機與現(xiàn)代化,2009(08).
DOI:10.16640/j.cnki.37-1222/t.2016.03.165