梅 琨 余 慧
(1.武漢和中信息科技責(zé)任有限公司,湖北 武漢 430070;2.湖北第二師范學(xué)院計(jì)算機(jī)學(xué)院,湖北 武漢 430205)
應(yīng)用負(fù)載均衡技術(shù)原理與實(shí)現(xiàn)
梅 琨1余 慧2
(1.武漢和中信息科技責(zé)任有限公司,湖北 武漢 430070;2.湖北第二師范學(xué)院計(jì)算機(jī)學(xué)院,湖北 武漢 430205)
應(yīng)用負(fù)載均衡技術(shù)在應(yīng)用交付方面具有良好的可用性和安全性。本文詳細(xì)講解了應(yīng)用負(fù)載均衡技術(shù)的原理及實(shí)現(xiàn)算法,并就下一步新型應(yīng)用負(fù)載均衡技術(shù)的發(fā)展方向進(jìn)行了展望。
應(yīng)用負(fù)載均衡;HA;輪詢;動(dòng)態(tài)性能分配
在負(fù)載均衡技術(shù)向當(dāng)前的應(yīng)用交付技術(shù)演變過(guò)程中,人們經(jīng)常容易忽略一個(gè)最基本的問(wèn)題,即負(fù)載均衡器設(shè)計(jì)的目的—產(chǎn)生高可用性、高擴(kuò)展性和可預(yù)測(cè)的應(yīng)用服務(wù)。當(dāng)前,智能應(yīng)用路由、服務(wù)器虛擬化以及共享信息化基礎(chǔ)設(shè)施部署是新的技術(shù)發(fā)展方向,為了在企業(yè)的數(shù)據(jù)中心建設(shè)中實(shí)現(xiàn)這些技術(shù),負(fù)載均衡技術(shù)必須在基礎(chǔ)建設(shè)構(gòu)架中提供良好的技術(shù)保障。
負(fù)載均衡目的是創(chuàng)建一個(gè)整體系統(tǒng),將來(lái)自實(shí)際運(yùn)行服務(wù)的大量物理服務(wù)器中的“服務(wù)”進(jìn)行虛擬化處理。更基本的定義是在大量物理服務(wù)器之間實(shí)現(xiàn)負(fù)載均衡,并使這些服務(wù)器對(duì)外界看起來(lái)猶如一個(gè)整合的大服務(wù)器,使系統(tǒng)實(shí)現(xiàn)高可用性、擴(kuò)展性和可預(yù)測(cè)性。
高可用性 (HA)是一個(gè)IDC數(shù)據(jù)中心即使在一個(gè)或多個(gè)服務(wù)器癱瘓的情況下仍保持可用和可接入的能力。服務(wù)虛擬化為高可用性提供了條件。如果用戶接入點(diǎn)與實(shí)際的服務(wù)器分離,單個(gè)服務(wù)器的故障不會(huì)造成整個(gè)系統(tǒng)的失效。
擴(kuò)展性是指負(fù)載的增加不會(huì)對(duì)現(xiàn)有計(jì)算性能造成影響。服務(wù)虛擬化為擴(kuò)展性提供了良好的條件。如果服務(wù)與實(shí)際的服務(wù)器分離,當(dāng)應(yīng)用擴(kuò)展的時(shí)候只是需要增加更多數(shù)量的虛擬服務(wù)器,而最終用戶并不需要關(guān)心服務(wù)器硬件的擴(kuò)充。
可預(yù)測(cè)性是指控制如何交付服務(wù)以及何時(shí)交付以實(shí)現(xiàn)高可用性和性能等方面的能力。
在互聯(lián)網(wǎng)商用的初期,許多互聯(lián)網(wǎng)公司發(fā)現(xiàn)其信息系統(tǒng)中的一個(gè)嚴(yán)重問(wèn)題。主機(jī)沒(méi)有Web服務(wù)器軟件,即使有,使用他們也需要龐大的預(yù)算。對(duì)他們中的大多數(shù)來(lái)說(shuō),無(wú)法使基于單個(gè)PC的服務(wù)器始終能夠處理所產(chǎn)生的流量,而且如果流量下降、脫機(jī)開(kāi)展業(yè)務(wù),這些問(wèn)題也無(wú)法處理。為了滿足這些需求,負(fù)載均衡技術(shù)應(yīng)運(yùn)而生。
應(yīng)用負(fù)載均衡是網(wǎng)絡(luò)層的設(shè)備,由于這些設(shè)備與應(yīng)用無(wú)關(guān),而且它們部署于應(yīng)用服務(wù)器外部,因此,它們能夠采用更直接的網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)負(fù)載均衡。從本質(zhì)上講,這些設(shè)備會(huì)對(duì)外提供一個(gè)虛擬服務(wù)器地址,而且當(dāng)用戶試圖連接時(shí),它會(huì)將連接通過(guò)雙向網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT)轉(zhuǎn)到最適合的真正服務(wù)器上。如下圖1:
圖1 應(yīng)用負(fù)載均衡技術(shù)邏輯架構(gòu)
3.1 靜態(tài)負(fù)載均衡算法
輪詢(Round Robin):將請(qǐng)求按順序循環(huán)地連接每個(gè)服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第2到第7層的故障,BIG-IP就把其從順序循環(huán)隊(duì)列中抽取出來(lái),不參加下一次的輪詢,直到其恢復(fù)正常。
比率(Ratio):給每個(gè)服務(wù)器分配一個(gè)加權(quán)值作為比例,根椐這個(gè)比例,把用戶的請(qǐng)求分配到每個(gè)服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第2到第7層的故障,BIG-IP就把其從服務(wù)器隊(duì)列中抽取出來(lái),不參加下一次的用戶請(qǐng)求的分配,直到其恢復(fù)正常。
優(yōu)先權(quán)(Priority):給所有服務(wù)器分組,給每個(gè)組定義優(yōu)先權(quán),把用戶的請(qǐng)求分配給優(yōu)先級(jí)最高的服務(wù)器組(在同一組內(nèi),采用輪詢或比率算法,分配用戶的請(qǐng)求);當(dāng)最高優(yōu)先級(jí)中所有服務(wù)器出現(xiàn)故障,BIG-IP才將請(qǐng)求送給次優(yōu)先級(jí)的服務(wù)器組。這種方式,實(shí)際為用戶提供一種熱備份的方式。
3.2 動(dòng)態(tài)負(fù)載均衡算法
最少的連接方式(Least Connection):傳遞新的連接給那些進(jìn)行最少連接處理的服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第2到第7層的故障,負(fù)載均衡設(shè)備就把其從服務(wù)器隊(duì)列中抽取出來(lái),不參加下一次的用戶請(qǐng)求的分配,直到其恢復(fù)正常。
最快模式(Fastest):傳遞連接給那些響應(yīng)最快的服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第2到第7層的故障,BIG-IP就把其從服務(wù)器隊(duì)列中抽取出來(lái),不參加下一次的用戶請(qǐng)求的分配,直到其恢復(fù)正常。
觀察模式(Observed):該模式是以連接數(shù)目和響應(yīng)時(shí)間這兩項(xiàng)指標(biāo)的最佳平衡為依據(jù)選擇服務(wù)器。當(dāng)其中某個(gè)服務(wù)器發(fā)生第2到第7層的故障,負(fù)載均衡設(shè)備就把其從服務(wù)器隊(duì)列中抽取出來(lái),不參加下一次的用戶請(qǐng)求的分配,直到其恢復(fù)正常。
預(yù)測(cè)模式(Predictive):BIG-IP利用收集到的服務(wù)器當(dāng)前的性能指標(biāo),進(jìn)行預(yù)測(cè)分析,選擇在下一個(gè)時(shí)間段內(nèi)性能達(dá)到最佳的服務(wù)器響應(yīng)用戶的請(qǐng)求。
動(dòng)態(tài)性能分配(Dynamic Ratio-APM):負(fù)載均衡設(shè)備收集應(yīng)用程序和應(yīng)用服務(wù)器的各項(xiàng)性能參數(shù),根據(jù)各項(xiàng)指標(biāo)動(dòng)態(tài)調(diào)整流量分配。
動(dòng)態(tài)服務(wù)器補(bǔ)充(Dynamic Server Act.):當(dāng)主服務(wù)器群中因故障導(dǎo)致數(shù)量減少時(shí),動(dòng)態(tài)地將備份服務(wù)器補(bǔ)充至主服務(wù)器群。
服務(wù)質(zhì)量(QoS):按不同的優(yōu)先級(jí)對(duì)數(shù)據(jù)流進(jìn)行分配。
服務(wù)類型(ToS):按不同的服務(wù)類型(在Type of Field中標(biāo)識(shí))對(duì)數(shù)據(jù)流進(jìn)行分配。
規(guī)則模式:針對(duì)不同的數(shù)據(jù)流設(shè)置導(dǎo)向規(guī)則,用戶可自行編輯流量分配規(guī)則,BIG-IP利用這些規(guī)則對(duì)通過(guò)的數(shù)據(jù)流實(shí)施導(dǎo)向控制。
應(yīng)用負(fù)載均衡技術(shù)在應(yīng)用交付方面具有良好的可用性和安全性。隨著集成網(wǎng)絡(luò)接入控制、網(wǎng)絡(luò)緩存/壓縮、廣域網(wǎng)加速等新技術(shù)不斷出現(xiàn),以及將業(yè)務(wù)規(guī)則運(yùn)用到應(yīng)用交付管理和控制過(guò)程中的重要性日益提高,這些方面將擴(kuò)展負(fù)載均衡設(shè)備的各項(xiàng)功能來(lái)為企業(yè)的信息化提供更多的支持。對(duì)用戶和應(yīng)用之間的網(wǎng)絡(luò)進(jìn)行整合,并減少由于訪問(wèn)數(shù)量增加所產(chǎn)生的壓力。在未來(lái)的發(fā)展中,還會(huì)將傳統(tǒng)的單機(jī)技術(shù)(例如防火墻、防DDOS和防病毒)融合到應(yīng)用負(fù)載均衡技術(shù)領(lǐng)域中。
目前還不清楚應(yīng)用負(fù)載均衡技術(shù)最終的功能體系,但有一點(diǎn)可以明確,即應(yīng)用負(fù)載均衡技術(shù)將發(fā)展成為數(shù)據(jù)系統(tǒng)建設(shè)中不可或缺的一部分,為企業(yè)新型數(shù)據(jù)中心的發(fā)展提供堅(jiān)實(shí)的技術(shù)支撐。
[1]趙少卡,李立耀,凌曉.基于OpenStack的清華云平臺(tái)構(gòu)建與調(diào)度方案設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2013,33(12):3335-3338,3349.
[2]王聰,王翠榮,王興偉.面向云計(jì)算的數(shù)據(jù)中心網(wǎng)絡(luò)體系結(jié)構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)研究與發(fā)展,2012,49(2):286-293.
[3]盛憲鋒,及俊川,周小軍.基于虛擬化技術(shù)的私有云APCS平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)工程,2012,38(8):210-212.
[4]劉鹛程,陳椿.面向云計(jì)算的虛擬機(jī)動(dòng)態(tài)遷移框架[J].計(jì)算機(jī)工程,2010,36(5):37-39.
[5]邢劍鋒,王鵬飛,沈松.基于虛擬機(jī)的可信云計(jì)算平臺(tái)研究與設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2010,29(16):75-78.
Principle and Realization of Load Balancing
Mei Kun1Yu Hui2
(1.Wuhan Orizone Information Technology Co.,Ltd,Wuhan 430070,Hubei) (2.Hubei University of Education,Wuhan 430205,Hubei)
Load balancing technique contributes good usability and security to application delivery.This paper presents not only the principle of load balancing technique,but also its realization in detail.Further,prospective application of this technique and future research work are also discussed.
load balancing;HA;polling;dynamic ratio-APM
梅琨,男,湖北武漢人,工程師。研究方向:云計(jì)算。
湖北省科技廳自然科學(xué)基金項(xiàng)目,項(xiàng)目編號(hào):2013CFB012。