【摘要】信息時代的發(fā)展促進互聯(lián)網(wǎng)的使用呈指數(shù)級快速增長,更快捷、可靠以及功能更加豐富的網(wǎng)絡需求不斷增加,這使得站點的訪問負載也隨之增大。如何應用更高的吞吐率,實現(xiàn)更好的交互性,滿足更高的網(wǎng)絡安全性,成為服務平臺必須要具備的能力。本文通過研究負載技術在網(wǎng)絡中的應用,選擇合適的負載均衡策略,建立可伸縮的高性能的網(wǎng)絡服務,消除負載分布不均的情況,進而解決網(wǎng)絡中存在的數(shù)據(jù)傳輸擁擠、反應時間長的技術瓶頸。
【關鍵詞】負載均衡;計算機網(wǎng)絡;應用
1引言
計算機網(wǎng)絡的快速發(fā)展,使得網(wǎng)絡建設和維護服務成為一項具有挑戰(zhàn)性的任務,這樣的系統(tǒng)必須在滿足不斷增長性能需求的同時,提供高性能和可靠的服務。所以,如何建立高效的網(wǎng)絡服務是擺在研究者面前極富挑戰(zhàn)性的任務。網(wǎng)絡服務負載均衡技術便是圍繞這一任務而產(chǎn)生的。
2負載均衡技術
負載均衡(Load Balance)是指均衡服務器和應用程序之間的流量,它建立在現(xiàn)有的網(wǎng)絡框架上,通過一種有效的技術來擴展網(wǎng)絡設備和服務器的帶寬、加強網(wǎng)絡數(shù)據(jù)處理能力,進行提高網(wǎng)絡的可用性和靈活性。針對網(wǎng)絡上負載過重的不同瓶頸,從網(wǎng)絡的不同層次來劃分,負載均衡技術的實現(xiàn)可以分為客戶端負載均衡技術、應用服務器負載均衡技術、動態(tài)域名系統(tǒng)、高層協(xié)議交換、網(wǎng)絡接入?yún)f(xié)議交換和傳輸鏈路聚合六個層次。目前有許多不同的負載均衡技術用以滿足客戶差異性的需求。
(1)軟/硬件負載均衡。主要優(yōu)點在于環(huán)境穩(wěn)定、配置簡單,操作靈活,可以滿足一般性的需要。硬件負載均衡在性能上要優(yōu)于軟件,不過其高昂的成本也限制了其發(fā)展。
(2)本地/全局負載均衡。本地負載可以充分利用現(xiàn)有的設備和服務器,通過靈活多樣的均衡策略實現(xiàn)數(shù)據(jù)流量的合理分配,進行減小服務器的負擔。當需要對現(xiàn)有服務器升級時,只需要簡單的增加,而不用改變現(xiàn)有的網(wǎng)絡框架。全局負載均衡主要用于在一個多區(qū)域擁有自己服務器的站點,可以使用戶以一個域名訪問到離自己最近的服務器,從而獲得最快的訪問速度,同時減輕了網(wǎng)絡擁擠的情況。
3負載均衡的策略
負載均衡策略的優(yōu)劣主要取決于兩個因素:一個是算法;一個是網(wǎng)絡檢測的方式與能力。
負載均衡算法是在考慮到各種服務請求,以及服務器的處理能力后,為了更加合理地把負載分配給內(nèi)部的多臺服務器而采用的調(diào)度算法。好的調(diào)度算法一方面要使每臺服務器都充分發(fā)揮各自的性能,又要使整個網(wǎng)絡實現(xiàn)負載均勻。常用的算法有四種:輪詢算法、加權輪詢算法、最少連接算法、加權最小連接算法。
(1)輪詢算法是連接請求按順序輪流分配到不同的服務器上。但這種算法的問題在于不能根據(jù)服務器的性能、響應時間等參數(shù)進行動態(tài)的分配請求,對所有的服務都平等對待。
(2)加權輪詢算法是對輪詢算法的改進,用權值來計算每臺服務器的性能,進行調(diào)度訪問請求。通過自動詢問服務器的真實負載情況來動態(tài)調(diào)整其權值。
(3)最少連接算法,是一種動態(tài)算法。它計算每臺服務器的連結數(shù),進而把請求分配給最少連接數(shù)的服務器。
(4)加權最小連接算法可以克服最少連接算法的單純考慮連接數(shù)的缺點,它為服務器組中每臺服務器分配一個可以衡量其性能的權值,該權值可以客觀上表示其處理的連接。在處理新的分配請求時,算法根據(jù)活動連接數(shù)與其權值的比值來決定該把請求分配給哪臺服務器。
有好的負載算法,還要有對網(wǎng)絡絡系統(tǒng)狀況的檢測方式和能力,這樣才能在網(wǎng)絡出現(xiàn)故障的情況下,保證數(shù)據(jù)請求不會丟失。目前常用的檢測主要有三種:Ping偵測、TCP Open偵測以及HTTP URL偵測。
(1)Ping偵測:通過ping的方式檢測服務器及網(wǎng)絡系統(tǒng)狀況。優(yōu)點是簡單快速,缺點是對服務器的應用服務無法進行檢測。
(2)TCP Open偵測:通過檢測服務器上某個TCP端口來判斷服務器的異常。常用的端口如Telnet的23端口,HTTP的80端口等。
(3)HTTP URL偵測:通過向HTTP服務器發(fā)出訪問請求來判斷服務器是否出現(xiàn)故障。
4負載均衡的應用
4.1基于客戶端的負載均衡
這種模式指的是通過在網(wǎng)絡的客戶端運行某個特定的程序來收集服務器的某些運行參數(shù),如CPU占用情況以及內(nèi)存等信息,再通過選擇某種負載均衡策略來決定把請求發(fā)送到某個服務器。這種技術要求每一個客戶端都必須安排這個采集程序,而且為了保證應用層的透明運行,必須對應用程序加以修改,通過動態(tài)鏈接庫或者嵌入的方法,所以工作量比較大。在使用Java的構架模型中應用比較廣泛。主要在于Java應用都基于虛擬機進行,可以在應用層和虛擬機之間設計一個中間層,可以處理負載均衡的工作。
4.2應用服務器的負載均衡技術
基于客戶端的負載均衡需要對客戶端進行特殊的修改,這樣增加了工作量。而針對應用服務器的負載均衡技術將是將客戶端的負載均衡移植到一個中間平臺,通過中間層服務器將請求均衡地發(fā)送到各服務結點。實現(xiàn)這個技術比較常見的手段就是反向代理技術。這種技術可以在一定程度上提升靜態(tài)網(wǎng)頁的訪問速度,從而實現(xiàn)網(wǎng)絡的負載均衡。但是反向代理服務器在達到很高效率的同時也存在缺點,針對每次的代理,它必須維護內(nèi)外兩個連接,對代理服務器的負載就會加大,這樣會使反向代理服務器本身成為瓶頸。
4.3基于域名系統(tǒng)的負載均衡
基于域名系統(tǒng)的負載均衡技術是使用動態(tài)的DNS,為多個地址配置同一個名字,客戶機通過這個名字得到一個地址,進而實現(xiàn)了不同的客戶訪問不同的服務器,實現(xiàn)負載均衡。優(yōu)點在于動態(tài)DNS輪詢實現(xiàn)起來簡單,無需更多的管理。但是它也存在不少問題,如無法判斷服務結點的有效性;受數(shù)據(jù)刷新時間過長,則可能獲得不同的IP地址,受數(shù)據(jù)刷新時間過短則會使DNS 流量大增造成額外的網(wǎng)絡負擔;以及不能區(qū)分服務器的差異性,不能反映當前服務器的運行狀態(tài)。因此,該技術的效果并不理想。
4.4網(wǎng)絡接入?yún)f(xié)議交換
通過交換機可以實現(xiàn)將外部的連接請求與內(nèi)部多個地址相聯(lián)系,通過建立虛擬的連接進行數(shù)據(jù)交換,因此,具備第四層交換能力的局域網(wǎng)交換機可以作為一種負載均衡器實現(xiàn)網(wǎng)絡的負載均衡。由于硬件系統(tǒng)本身的造價比較高,可以利用Linux 虛擬服務器,在相對高效穩(wěn)定的核心空間進行IP包的數(shù)據(jù)處理工作,增加靈活性的同時也減少了成本。
5結束語
無論是采用軟件方式,或者是購買高性能的第四層交換機,或者是其它種類的均衡技術,在設計負載均衡方案的時候都要考慮到系統(tǒng)的性能,做到可擴展,易管理,保證系統(tǒng)的靈活性和可靠性,進行保證網(wǎng)絡高效運行。
參考文獻
[1] 張淵,郭濤峰,張攀翔,高建軍,臧佳艷.負載均衡技術在統(tǒng)一采集平臺中的應用研究與實現(xiàn)[J].電信科學,2013,12:145-154.
[2] 聶波,宋子龍.網(wǎng)絡負載均衡技術研究和應用[J] .中國管理信息化,2014,03:68-70.
[3] 鄧雪剛,王嘉,趙壤,黎藝,龔彬.大型電子政務應用系統(tǒng)負載均衡的設計與實現(xiàn)[J].云南大學學報(自然科學版),2013,S2:233-236.
作者簡介:
黃濤(1979-),男,新疆大學,在職研究生,工學學士學位,現(xiàn)任新疆塔城地區(qū)公安消防支隊作戰(zhàn)指揮中心副主任,長期從事消防通信工作;主要研究方向和關注領域:網(wǎng)絡應用與管理。endprint