在電子商務發展迅速的今天,網絡的運行狀態,是電子商務能否順利進行的有力保障,現有網絡資源的利用率高低就一個重要問題,網絡的負載平衡就是解決這個問題的方法之一,下面對幾種常見的負載平衡方法,進行分析比較
一、靜態均衡算法
靜態的負載平衡是指當一個請求到來時,將按照預先約定的匹配規則將該請求指派到一個特定的真實服務器。靜態負載平衡算法主要任務是決定如何選擇下一個節點,然后將新的服務請求轉發給它。現在,針對不同的網絡服務需求和配置已經有相當多的研究和應用,比較普遍的算法是:輪詢 (Round Robin),散列(Source Hashing)等等。一個好的靜態負載均衡算法也并不是萬能的,它一般只在某些特殊的應用環境下才能發揮最大效用,靜態負載平衡也是實現動態負載平衡的基礎
輪詢調度 (Round Robin Scheduling)算法就是以輪詢的方式依次將請求調度不同的服務器,即每次調度執行i二(Q+l)mod n,選出第‘臺服務器。這種算法的優點是簡潔明確,無需記錄當前連接的狀態。
散列法通過單向的不可逆的哈希 (Hash)函數將請求發往集群節點。目標地址散列調度 (Destination Hashing Scheduling)算法先根據請求的目標IP地址,作為散列鍵 (Hash Key)從靜態的散列表找出對應的服務器,若該服務器可用并且未超載,則將請求發送到該服務器。源地址散列調度 (Source HashingScheduling)則是將請求的源IP地址作為散列鍵從靜態分配的散列表找出對應的服務器。
二、 動態均衡算法
在實際的訪問過程中,很有可能存在這樣情況,即有些節點已經超負荷運行,而其他節點基本上處于空閑狀態;或者有些節點的處理任務已經很繁忙,但還有很長的請求隊列,同時又不斷地收到新的請求。這些情況都會導致客戶端長時間的等待,使集群的整體服務質量下降。因此,有必要采用一種機制,使得平衡器能夠實時地了解各個節點的負載狀況,并根據負載的變化做出相應調整。
動態的負載平衡算法是根據系統當前的負載狀況來調整任務劃分。這類算法能及時、準確的把握各個節點的負載狀況,并根據各個節點的資源使用狀況來動態調整負載的分布。動態均衡算法將考慮每一個節點的實時負載和響應能力,不斷調整任務分布的比例,避免有些節點超載時依然收到大量請求,從而提高集群的整體吞吐率。
最小連接調度(Least-Connection Scheduling)算法是一種典型的動態調度算法,它通過記錄服務器當前活躍的連接數來估計服務器的負載情況,該算法把新的連接請求分配到當前含有最少連接數的節點。平衡器記錄集群內各個服務器已建立連接的數目,當一個請求被調度到某臺服務器后,該服務器連接數加1;當連接超時或訪問結束后,其連接數減1。通常這種算法針對TCP連接進行,但由于不同應用對系統資源的消耗可能差異很大,而連接數量無法反映出真實的應用負載,因此在大規模應用時,該算法在效果上要打折扣。為了減少這個不利的影響,可對每個節點設置最大的連接數上限。
加權輪詢調度 (Weighted Round-Robin Scheduling)算法用權值表示相應節點的處理性能。該算法根據權值的高低順序并按照輪詢的方式將任務請求分配到各節點。權值高的節點比權值低的節點處理更多的任務請求,相同權值的節點處理相同份額的請求。在IPVS (IP Virtual Server Software)調度器的內核中,開發人員對加權輪詢調度算法進行了拓展和改進,在此基礎上形成了基于動態反饋負載均衡機制。該策略能避免長事務的請求總被分配到某些固定的機器上,使集群內各服務器保持較好的利用率。
三、 其他均衡算法
由于全局狀態的不確定性,實際上很難對負載均衡網絡中的各種行為特征做出精確的數學建模,也就是說很難確切地給出下一個負載應該分配給哪一個服務器,才能使整個集群的負載趨于平衡。出于這種考慮,有人將模糊控制的理論應用到均衡算法中,采用模糊邏輯根據各個服務器的歷史信息來估計其負載的高低。每臺服務器都會將這些并不精確的信息送入一個邏輯推斷引擎,引擎經過分析后會給出服務器的負載高低的排序,對于新到來的請求的派發就是基于這個排序的。對比隨機策略 (Random Scheduling)和輪詢策略( Round RobinScheduling),該系統取得了很好的實驗結果。
還有一種將力學模型應用到負載平衡算法中的新思路。通過模擬在斜面上具有一定質量的小球的下落過程,并對這個過程的物理意義進行分析,找到選擇最優服務器的途徑,也取得了令人滿意的實驗結果。
綜上所述,在電子商務和其他的商業IT活動中選擇一種適宜負載平衡方式,已經成為服務質量能否得到保障關鍵問題,要根據實際網絡情況進行選擇。
參考文獻:
[1]范國闖等:Web應用服務器自適應負載平衡
[2]P.Enjeti etal.Analysis of a Static Power Converter Underunbalance A Novel Approach.IEEE Trans.on Industrial Electronics,1990
[3]P.Enjeti,S.Kim.A New DC side Active Filter for InverterPower Supplies Compensates for Unbalanced And Nonlinear Loads.IEEE,1991