(南京醫(yī)科大學附屬南京醫(yī)院(南京市第一醫(yī)院),210029)
試論網(wǎng)絡服務器的負載均衡實現(xiàn)
李 烜
(南京醫(yī)科大學附屬南京醫(yī)院(南京市第一醫(yī)院),210029)
文章首先對服務器負載均衡的基本概念進行了分析,并對負載均衡的類型以及算法分類進行了概述,然后研究了在集群系統(tǒng)網(wǎng)絡服務器中對負載狀態(tài)進行評價的方法以及對負載狀況進行獲取的手段,最后分析了網(wǎng)絡服務器實現(xiàn)負載均衡的幾點策略,值得重視。
網(wǎng)絡服務器;負載均衡;實現(xiàn)
在網(wǎng)絡技術(shù)不斷發(fā)展與完善的背景下,各類網(wǎng)站的訪問量呈現(xiàn)出了顯著增高的趨勢,在網(wǎng)絡服務器的運行過程中,負載的急速增長成為了影響網(wǎng)絡訪問質(zhì)量與訪問速度的重要因素之一。為解決該問題,關(guān)鍵在于實現(xiàn)網(wǎng)絡服務器的負載均衡。通過引入負載均衡技術(shù)的方式,能夠?qū)⒕W(wǎng)絡服務系統(tǒng)自多臺服務器對稱運行的方式轉(zhuǎn)變?yōu)榉掌骷线\行。在這一集成系統(tǒng)當中,每臺服務器均具有等價地位,能夠獨立面向外部環(huán)境提供服務。除此以外,還能夠通過應用負載分擔技術(shù)的方式,將外界發(fā)送的請求數(shù)據(jù)據(jù)均勻分配至相應的服務器系統(tǒng)終端上。通過上述方式,能夠解決大量用戶同時段內(nèi)并發(fā)訪問而出現(xiàn)的問題,確保網(wǎng)絡服務器訪問質(zhì)量的理想。
1.1 負載均衡的含義
負載均衡以當前固有的網(wǎng)絡結(jié)構(gòu)為基本依據(jù),在基礎(chǔ)之上提供一種有效并且成本低廉的方法,能夠?qū)W(wǎng)絡服務器的帶寬進行有效拓展,同時提高服務器吞吐量,是優(yōu)化網(wǎng)絡服務器數(shù)據(jù)處理能力的重要手段之一,并且在改善網(wǎng)絡系統(tǒng)運行靈活性與適應性方面也有中藥的意義。實現(xiàn)負載均衡所需要完成的工作任務包括以下幾個方面:
其一,需要面向網(wǎng)絡服務器用戶提供更佳、更具人性化特點的訪問質(zhì)量;
其二,需要進一步改善服務器響應速度,滿足用戶操作需求;
其三,需要提高網(wǎng)絡服務器以及其他資源的利用效率;
其四,需要將單個重負載的運算任務分解至多臺節(jié)點服務器上,并以并行方式進行處理,通過這種流程,能夠顯著提高網(wǎng)絡服務器系統(tǒng)的數(shù)據(jù)處理能力,確保最終結(jié)果能夠盡快的返回至用戶端;
在網(wǎng)絡服務器實現(xiàn)負載均衡的過程當中,負載均衡的工作機制可以劃分為兩種類型,分別為靜態(tài)模式下的負載均衡以及動態(tài)模式下的負載均衡。其中,前者是指根據(jù)預先確定的輪值方案,將任務按照方案要求分解至相應的節(jié)點當中,而后者則是指借助于一些工具軟件對數(shù)據(jù)包進行分解,從而準確評估網(wǎng)絡系統(tǒng)內(nèi)的數(shù)據(jù)流量的真實狀況。
1.2 負載均衡類型及算法
在網(wǎng)絡服務器實現(xiàn)負載均衡的過程當中,算法會對負載均衡的實現(xiàn)情況產(chǎn)生非常直接的影響,當前技術(shù)支持下,實際應用中比較常見的算法有兩種類型,分別為靜態(tài)負載均衡算法以及動態(tài)負載均衡算法。其中,對于靜態(tài)算法而言,該算法適用于負載量能夠預知并且具有同構(gòu)數(shù)據(jù)的集群系統(tǒng),實際應用中具有操作簡便與靈活的特點;對于動態(tài)算法而言,該算法使用范圍相對較廣的網(wǎng)絡服務器集群系統(tǒng),在應用中必須對服務器的使用情況以及對各個指令的執(zhí)行情況進行收集,在開銷上明顯高于靜態(tài)算法,但其優(yōu)勢是能夠?qū)合到y(tǒng)的負載情況進行實時性的反應,因此在具體應用中需要綜合考慮,選擇最佳的算法方案。
2.1 負載狀態(tài)評價分析
當前對于網(wǎng)絡服務器及其集成系統(tǒng)而言,在實現(xiàn)負載均衡過程當中應用技術(shù)所面臨的問題主要包括三個方面,其一是針對網(wǎng)絡服務器負載狀況的定義,其二是針對負載狀況信息的獲取方式,其三是針對獲取負載狀況信息后的處理。在網(wǎng)絡服務器實現(xiàn)負載均衡的過程當中,負載狀況的評價可以由三類指標構(gòu)成,分別為統(tǒng)計類指標、靜態(tài)類指標、以及動態(tài)類指標。其中,統(tǒng)計類指標可作為網(wǎng)絡服務器所對應網(wǎng)站進行擴充的基本依據(jù);靜態(tài)類指標則主要受到資源的影響,具有數(shù)字化、量化評價的特點;動態(tài)類指標則通過對探測結(jié)果的動態(tài)使用勁兒得到有關(guān)負載狀態(tài)的評價結(jié)果。
2.2 負載狀況獲取分析
在網(wǎng)絡服務器系統(tǒng)當中,各個服務器在決定新用戶訪問請求取/舍時需要參考所有服務器的負載水平。換言之,對于單個服務器而言,在決策新用戶訪問請求時必須了解其他服務器在同一狀態(tài)下的負載水平。因此,對于其他服務器而言,需要具備將自身負載狀況通知其他服務器的能力。目前技術(shù)條件支持下,對負載狀況的探知可以通過如下幾種途徑實現(xiàn):
其一,建立在Agent技術(shù)的基礎(chǔ)之上,遵循網(wǎng)管協(xié)議Snmp進行探知:即在需要了解負載狀況的服務器上運行預先設計的Agent模塊,定時通知分配器,從而得到網(wǎng)絡服務器運行負載的確切情況;
其二,基于第三方軟件獲取網(wǎng)絡服務器負載情況:當前一些第三方工作軟件已經(jīng)可支持對網(wǎng)絡服務器負載運行情況的獲取,但選用第三方軟件時要求分配器有與之相對應的接口,以便能夠?qū)Ψ峙浣Y(jié)果進行相應的調(diào)整;
其三,基于自主開發(fā)軟件的方式主動獲取服務器負載水平:在認知網(wǎng)絡服務器相應負載水平的過程中,最簡單與直接的集成方法就是自主進行軟件開發(fā),在分配器的敢于下對服務器負載進行探測分析。
網(wǎng)絡服務器負載狀況的獲取方式可以分為兩類,分別為周期性獲取、非周期性獲取。其中,前者需要定期通過廣播或直接詢問的方式了解網(wǎng)絡服務器的負載狀態(tài),而后者則僅在網(wǎng)絡服務器處于空閑/過載運行狀態(tài)下時,以廣播或直接詢問的方式了解負載狀態(tài)。在實際工作中,需要結(jié)合網(wǎng)絡服務器系統(tǒng)的整體開銷,考慮負載狀態(tài)的實時性,選擇最佳的獲取方式。
從實際應用的角度上來看,我們最終的目標不僅僅局限在將客戶端的服務請求平均分配給內(nèi)部服務器,而是需要性能更具優(yōu)勢的服務器接收更加多的服務請求,相對應的,一臺處理服務器請求相對較少的網(wǎng)絡服務器也需要分配更多的服務請求,針對出現(xiàn)故障的網(wǎng)絡服務器,則需要在故障得到恢復后方可繼續(xù)接受服務請求。
在分析選擇網(wǎng)絡服務器負載均衡算法的過程當中,必須對各個網(wǎng)絡服務器的性能進行綜合考慮,結(jié)合網(wǎng)絡服務器在硬件配置以及處理能力方面的特點,為各個網(wǎng)絡服務器分配可適應的權(quán)值,確保其能夠接受在權(quán)值范圍內(nèi)服務器請求。
同時,在負載均衡的應用中,還需要考慮到各個網(wǎng)絡服務器在響應速度方面的均衡實現(xiàn)。實際應用中,負載均衡設備需要面向集群系統(tǒng)內(nèi)部各個網(wǎng)絡服務器發(fā)送探測指令,然后根據(jù)網(wǎng)絡服務器對探測請求的響應速度決定將服務請求分配至哪一個網(wǎng)絡服務器當中。應用這種負載均衡算法能夠較好的反映集群系統(tǒng)內(nèi)部所有網(wǎng)絡服務器的運行狀態(tài),但也存在一定的局限性,即這種響應探測請求時間最短的響應時間所指的是負載均衡設備與服務器間的最快響應時間,而不是客戶端與服務器間的最快響應時間。
最后,在對網(wǎng)絡服務器負載均衡進行分析的過程當中還應考慮各服務器的最少連接數(shù)均衡。因為每一次請求在服務器的停留的時間差異有可能是非常大的,因此,隨著工作時間加長,每一臺服務器上的進程可能會產(chǎn)生極大的差異,簡單的輪循不能保證真正意義上的均衡。故而,當集群系統(tǒng)中網(wǎng)絡服務器接收到新用戶請求時,將當前的請求分配給當前連接數(shù)最少的服務器。“最小連接數(shù)算法”則可以保證每一次訪問請求都分配給當前處理進程最小的服務器,從而使均衡更加動態(tài)化,更加符合實際情況,負載更加均衡。
對于網(wǎng)絡服務器而言,負載均衡技術(shù)的最根本目標是根據(jù)系統(tǒng)內(nèi)部各個處理機的性能表現(xiàn)以及負載水平來對工作任務與指令進行分配,在這一過程當中,服務器節(jié)點的處理能力以及在該狀態(tài)下的負載量會對服務器負載變化產(chǎn)生直接影響。網(wǎng)絡服務器中負載量具有動態(tài)性的特點,為了明確該參數(shù)首先必須構(gòu)建一個動態(tài)性的調(diào)度策略,確保整個網(wǎng)絡服務器系統(tǒng)在長時間運行狀態(tài)下負載不發(fā)生較大程度的傾斜,并且在負載均衡系統(tǒng)進行決策時首先考慮整個系統(tǒng)的負載狀態(tài),確保所獲取信息的最新性。以上即根據(jù)該思路,對網(wǎng)絡服務器負載均衡的實現(xiàn)問題展開了詳細探討與研究,望能夠引起各方關(guān)注與重視。
[1] 蔣文保,郝雙,戴一奇等.高速網(wǎng)絡入侵檢測系統(tǒng)負載均衡策略與算法分析[J].清華大學學報(自然科學版),2006,46(1):106-110.
[2] 劉琪,袁堅,山秀明等.3G/WLAN網(wǎng)絡中基于終端移動與業(yè)務認知的動態(tài)負載均衡機制[J].計算機學報,2010,33(9):1569-1579.
李烜,男,1982.04-,本科,信息系統(tǒng)與信息管理專業(yè),南京醫(yī)科大學附屬南京醫(yī)院(南京市第一醫(yī)院)信息科,助理工程師,主要從事醫(yī)院his系統(tǒng)維護,機房服務器管理,網(wǎng)絡設備管理工作。
On the load balance of network server
Li Xuan
(Nanjing Hospital Affiliated to Nanjing Medical University (Nanjing First Hospital),210029)
Firstly,this paper analyzes the basic concept of server load balancing,and summarizes the types of load balancing and the method of the load balancing in cluster system,and analyzes the methods of load balancing.
network server;load balance;implementation