專利名稱:負(fù)載均衡方法和負(fù)載均衡系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,更具體地,涉及一種負(fù)載均衡方法和負(fù)載均衡系統(tǒng)。
背景技術(shù):
在網(wǎng)絡(luò)環(huán)境中向客戶端提供服務(wù)時(shí),為了提高系統(tǒng)的負(fù)載能力,經(jīng)常采用多點(diǎn)并行服務(wù)方式。多點(diǎn)并行服務(wù)方式是指:網(wǎng)絡(luò)中部署的多個服務(wù)器節(jié)點(diǎn)同時(shí)向客戶端提供服務(wù),當(dāng)一個服務(wù)器節(jié)點(diǎn)工作時(shí),客戶端可以向其他服務(wù)節(jié)點(diǎn)提交請求使得這些服務(wù)節(jié)點(diǎn)并行提供服務(wù)。然而,這種多點(diǎn)并行服務(wù)方式的系統(tǒng)容易遇到各個服務(wù)節(jié)點(diǎn)負(fù)載不均衡的問題,例如有時(shí)不同服務(wù)器節(jié)點(diǎn)之間的負(fù)載量相差很大。這是由于客戶端很難獲取當(dāng)前各個服務(wù)節(jié)點(diǎn)的服務(wù)狀態(tài),從而導(dǎo)致對某些服務(wù)器節(jié)點(diǎn)訪問過于頻繁,而對另外的服務(wù)器節(jié)點(diǎn)訪問較少,造成各個服務(wù)節(jié)點(diǎn)的負(fù)載不均衡,降低整個系統(tǒng)的服務(wù)能力、反應(yīng)速度和穩(wěn)定性。為了解決這類問題,傳統(tǒng)的方法是為系統(tǒng)增加一個負(fù)載均衡器。所有服務(wù)節(jié)點(diǎn)都由負(fù)載均衡器統(tǒng)一管理,負(fù)載均衡器了解所有服務(wù)節(jié)點(diǎn)的工作狀態(tài)??蛻舳酥荒芟蜇?fù)載均衡器提交請求,由負(fù)載均衡器根據(jù)當(dāng)前各服務(wù)節(jié)點(diǎn)的負(fù)載情況,向客戶端返回合適的服務(wù)節(jié)點(diǎn)的鏈接,客戶端再向服務(wù)器節(jié)點(diǎn)提交請求獲取服務(wù)。這種實(shí)現(xiàn)比較復(fù)雜,因?yàn)樨?fù)載均衡器需要和各個服務(wù)器節(jié)點(diǎn)通信,以獲取當(dāng)前服務(wù)器節(jié)點(diǎn)的工作狀態(tài)。獲取服務(wù)器節(jié)點(diǎn)的工作狀態(tài)可能需要使用獨(dú)有的通信協(xié)議,以保證通信的高效穩(wěn)定,這大大增加工作的復(fù)雜性。另外,傳統(tǒng)的負(fù)載均衡器通常一個負(fù)載均衡器只負(fù)責(zé)一種服務(wù)應(yīng)用、管理一組服務(wù)節(jié)點(diǎn),難以管理多種服務(wù)應(yīng)用。再者,使用傳統(tǒng)的單節(jié)點(diǎn)負(fù)載均衡服務(wù)器容易造成系統(tǒng)的不穩(wěn)定,例如當(dāng)采用的單個負(fù)載均衡服務(wù)器出現(xiàn)故障時(shí),整個系統(tǒng)服務(wù)將停止;大型系統(tǒng)負(fù)載均衡服務(wù)器壓力過大也可能導(dǎo)致系統(tǒng)崩潰。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于提高一種穩(wěn)定可靠的負(fù)載均衡系統(tǒng)或負(fù)載均衡方法。根據(jù)本發(fā)明的一方面,提供了一種負(fù)載均衡方法,包括:在至少一個負(fù)載均衡服務(wù)器上啟動并運(yùn)行IceGridRegistry服務(wù);使各個應(yīng)用服務(wù)節(jié)點(diǎn)向所運(yùn)行的IceGridRegistry服務(wù)中的至少一個注冊后在所述各個應(yīng)用服務(wù)節(jié)點(diǎn)上啟動并運(yùn)行相應(yīng)的IceGridNode服務(wù);每個應(yīng)用服務(wù)節(jié)點(diǎn)上運(yùn)行的一個或多個IceGridNode服務(wù)與相應(yīng)的負(fù)載均衡服務(wù)器上運(yùn)行的IceGridRegistry服務(wù)進(jìn)行通信,其中,所述多個IceGridNode服務(wù)分別對應(yīng)于不同負(fù)載均衡服務(wù)器上的一個IceGridRegistry服務(wù);所述至少一個負(fù)載均衡服務(wù)器中的一個接收到來自客戶端的應(yīng)用服務(wù)節(jié)點(diǎn)請求后,根據(jù)負(fù)載均衡策略向所述客戶端提供到相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)鏈接;
所述客戶端使用所述網(wǎng)絡(luò)鏈接直接與相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)通信以獲得服務(wù)。在可選實(shí)施例中,在每個負(fù)載均衡服務(wù)器上啟動所述IceGridRegistry服務(wù)之前,配置對應(yīng)于所述IceGridRegistry服務(wù)的配置文件,其中,所述配置文件包括IP地址、端口號和使用的傳輸層協(xié)議。在可選實(shí)施例中,在各個應(yīng)用服務(wù)節(jié)點(diǎn)上啟動一個IceGridNode服務(wù)之前,配置對應(yīng)于該IceGridNode服務(wù)的配置文件,其中,所述配置文件包括指定IceGridNode服務(wù)向IceGridRegistry服務(wù)注冊的IP地址、端口號和使用的傳輸層協(xié)議。其中,該IP地址、端口號就是運(yùn)行對應(yīng)的IceGridRegistry的負(fù)載均衡器的IP地址和端口號。在可選實(shí)施例中,在所述至少一個負(fù)載均衡服務(wù)器中的一個上啟動并運(yùn)行IceGridAdmin服務(wù);使用所述IceGridAdmin服務(wù)向所述至少一個負(fù)載均衡服務(wù)器上要管理的IceGridRegistry服務(wù)添加應(yīng)用服務(wù);或者,使用所述IceGridAdmin服務(wù)在各個IceGridRegistry服務(wù)中刪除或增加同一應(yīng)用服務(wù)節(jié)點(diǎn)。在可選實(shí)施例中,對于要在其上啟動IceGridAdmin服務(wù)的負(fù)載均衡服務(wù)器,利用該負(fù)載均衡服務(wù)器上配置的對應(yīng)于所述IceGridRegistry服務(wù)的配置文件來啟動所述IceGridAdmin 服務(wù)。根據(jù)本發(fā)明的另一方面,還提供了一種負(fù)載均衡系統(tǒng),包括:至少一個負(fù)載均衡服務(wù)器和多個應(yīng)用服務(wù)節(jié)點(diǎn),其中:所述至少一個負(fù)載均衡服務(wù)器中的一個或多個用于在其上啟動并運(yùn)行一個IceGridRegistry 服務(wù);每個應(yīng)用服務(wù)節(jié)點(diǎn)用于向所運(yùn)行的IceGridRegistry服務(wù)中的至少一個注冊后啟動并運(yùn)行相應(yīng)的IceGridNode服務(wù),并且,每個應(yīng)用服務(wù)節(jié)點(diǎn)上運(yùn)行的一個或多個IceGridNode服務(wù)與相應(yīng)的負(fù)載均衡服務(wù)器上運(yùn)行的IceGridRegistry服務(wù)進(jìn)行通信,其中,所述多個IceGridNode服務(wù)分別對應(yīng)于不同負(fù)載均衡服務(wù)器上的一個IceGridRegistry 服務(wù);所述負(fù)載均衡服務(wù)器還用于在接收到來自客戶端的應(yīng)用服務(wù)節(jié)點(diǎn)請求后,根據(jù)負(fù)載均衡策略向所述客戶端提供到相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)鏈接,以便所述客戶端使用所述網(wǎng)絡(luò)鏈接直接與相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)通信以獲得服務(wù)。在可選實(shí)施例中,所述負(fù)載均衡服務(wù)器還用于在啟動IceGridRegistry服務(wù)之前,配置對應(yīng)于所述IceGridRegistry服務(wù)的配置文件,其中,所述配置文件包括IP地址、端口號和使用的傳輸層協(xié)議。在可選實(shí)施例中,各個應(yīng)用服務(wù)節(jié)點(diǎn)還用于在啟動一個IceGridNode服務(wù)之前,配置對應(yīng)于該IceGridNode服務(wù)的配置文件,其中,所述配置文件包括指定IceGridNode服務(wù)向IceGridRegistry服務(wù)注冊的IP地址、端口號和使用的傳輸層協(xié)議。其中,該IP地址、端口號就是運(yùn)行對應(yīng)的IceGridRegistry服務(wù)的負(fù)載均衡器的IP地址和端口號。在可選實(shí)施例中,所述至少一個負(fù)載均衡服務(wù)器中的一個還用于執(zhí)行以下功能:啟動IceGridAdmin服務(wù);以及,使用所述IceGridAdmin服務(wù)向要管理的IceGridRegistry服務(wù)添加應(yīng)用服務(wù);或者,使用所述IceGridAdmin服務(wù)在各個IceGridRegistry服務(wù)中刪除或增加同一應(yīng)用服務(wù)節(jié)點(diǎn)。在可選實(shí)施例中,所述至少一個負(fù)載均衡服務(wù)器中的一個啟動IceGridAdmin服務(wù)包括:利用其上配置的對應(yīng)于所述IceGridRegistry服務(wù)的配置文件來啟動IceGridAdmin 服務(wù)。本發(fā)明實(shí)施例的負(fù)載均衡系統(tǒng)和負(fù)載均衡方法通過采用IceGrid技術(shù)來提供穩(wěn)定可靠的負(fù)載均衡服務(wù)器,從而使得各應(yīng)用服務(wù)節(jié)點(diǎn)上的負(fù)載可以均衡,并且多負(fù)載均衡服務(wù)器的模式能夠系統(tǒng)穩(wěn)定性。
圖1是根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)架構(gòu)示意圖。圖2是基于圖1所示的網(wǎng)絡(luò)架構(gòu)的負(fù)載均衡系統(tǒng)的結(jié)構(gòu)示意圖。圖3是根據(jù)本發(fā)明一實(shí)施例的負(fù)載均衡方法的流程示意圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明實(shí)施例作進(jìn)一步的詳細(xì)說明。本發(fā)明實(shí)施例使用Ice中間件技術(shù)中的IceGrid服務(wù)來建立多個負(fù)載均衡服務(wù)器節(jié)點(diǎn)以完成系統(tǒng)中多個服務(wù)應(yīng)用的負(fù)載均衡。所建立的各負(fù)載均衡服務(wù)器功能基本相同。在一些實(shí)施例中,各負(fù)載均衡服務(wù)器的功能完全相同。這些負(fù)載均衡服務(wù)器可并行工作,管理所有的各類服務(wù)應(yīng)用,從而使得系統(tǒng)可以獲得很高的穩(wěn)定性。網(wǎng)絡(luò)通信引擎(InternetCommunications Engine, Ice)是由ZeroC的分布式系統(tǒng)開發(fā)專家實(shí)現(xiàn)的一種高性能的面向?qū)ο笾虚g件平臺,其為構(gòu)建面向?qū)ο蟮目蛻?服務(wù)器應(yīng)用提供了工具、API和庫支持。圖1是根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)架構(gòu)示意圖。如圖1所示,該網(wǎng)絡(luò)架構(gòu)包括多個客戶端10、多個負(fù)載均衡服務(wù)器20和多個應(yīng)用服務(wù)節(jié)點(diǎn)30??蛻舳?0可以向負(fù)載均衡服務(wù)器20中的任意一個發(fā)送應(yīng)用服務(wù)節(jié)點(diǎn)請求。在一可選實(shí)施例中,任一客戶端10向系統(tǒng)提交服務(wù)時(shí),可以首先隨機(jī)地向已知的某個負(fù)載均衡服務(wù)器提交應(yīng)用服務(wù)節(jié)點(diǎn)請求,然后由負(fù)載均衡服務(wù)器為該客戶端分配相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)。圖2是基于圖1所示的網(wǎng)絡(luò)架構(gòu)的負(fù)載均衡系統(tǒng)的結(jié)構(gòu)示意圖。該負(fù)載均衡系統(tǒng)包括至少一個負(fù)載均衡服務(wù)器20和多個應(yīng)用服務(wù)節(jié)點(diǎn)30。.
每個負(fù)載均衡服務(wù)器20上可運(yùn)行IceGridRegistry服務(wù),其中IceGridRegistry服務(wù)負(fù)載用于對應(yīng)用服務(wù)節(jié)點(diǎn)30進(jìn)行管理,這包括各應(yīng)用服務(wù)節(jié)點(diǎn)的服務(wù)內(nèi)容、服務(wù)節(jié)點(diǎn)的增加和刪除等。在一實(shí)施例中,負(fù)載均衡服務(wù)器20啟動IceGridRegistry服務(wù)之前,需要配置一個配置文件,其中,配置文件中主要指定當(dāng)前IceGridRegistry服務(wù)的IP地址、端口號、使用的傳輸層協(xié)議(例如TCP協(xié)議)等。例如,文件名為config.registry的配置文件中可以指定IP地址為本機(jī)IP、傳輸層協(xié)議使用默認(rèn)值、端口號設(shè)定為12121 ;則啟動IceGridRegistry 月艮務(wù)的命令為:icegridregistry—Ice.Config = config.registry。每個應(yīng)用服務(wù)節(jié)點(diǎn)30上可運(yùn)行IceGridNode服務(wù),IceGridNode服務(wù)管理應(yīng)用服務(wù)節(jié)點(diǎn)上的服務(wù)應(yīng)用,同一應(yīng)用服務(wù)節(jié)點(diǎn)可以提供多個服務(wù)。在一些實(shí)施例中,應(yīng)用服務(wù)節(jié)點(diǎn)上的某個服務(wù)可以根據(jù)預(yù)設(shè)定在空閑時(shí)停止應(yīng)用程序,這對于一個應(yīng)用服務(wù)節(jié)點(diǎn)運(yùn)行多個服務(wù)尤其重要。
在一實(shí)施例中,應(yīng)用服務(wù)節(jié)點(diǎn)30在啟動IceGridNode服務(wù)之前,需要配置一個配置文件,配置文件中主要指定要注冊IceGridRegistry服務(wù)的該IceGridNode服務(wù)的IP地址、端口號、使用的傳輸層協(xié)議等。例如,文件名為config.nodel的IP地址配置為
10.0.31.186,傳輸層協(xié)議使用TCP協(xié)議、端口號設(shè)定為12011 ;則啟動IceGridNode服務(wù)的命令為:icegridnode —Ice.Config = config.nodel。然后,IceGridNode服務(wù)會與IceGridRegistry服務(wù)通信以保證負(fù)載均衡服務(wù)器的良好運(yùn)行。例如,每個IceGridNode通過IP地址等參數(shù)與不同的IceGridRegistry服務(wù)進(jìn)行通信,相互之間完全獨(dú)立,互不影響。在可選實(shí)施例中,每個應(yīng)用服務(wù)節(jié)點(diǎn)都可以運(yùn)行多個IceGridNode服務(wù),以對應(yīng)多個負(fù)載均衡服務(wù)器,從而每個應(yīng)用服務(wù)節(jié)點(diǎn)都可以通過其上的一個IceGridNode服務(wù)與多個負(fù)載均衡服務(wù)器中每一個上的IceGridRegistry服務(wù)通信。負(fù)載均衡服務(wù)器20中的一個接收到來自客戶端的應(yīng)用服務(wù)節(jié)點(diǎn)請求后,根據(jù)負(fù)載均衡策略向所述客戶端提供到相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)鏈接。然后,所述客戶端使用該網(wǎng)絡(luò)鏈接直接與相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)通信以獲得服務(wù)。例如,負(fù)載均衡服務(wù)器20可以與對應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)30(也即IceGridNode)通信獲取應(yīng)用服務(wù)的socket ;然后負(fù)載均衡服務(wù)器20將通信的socket發(fā)送給客戶端。在一實(shí)施例中,客戶端將應(yīng)用服務(wù)節(jié)點(diǎn)請求隨機(jī)發(fā)送給某個負(fù)載均衡服務(wù)器,如果該負(fù)載均衡服務(wù)器出現(xiàn)故障,則客戶端可以在負(fù)載均衡服務(wù)器超時(shí)時(shí),向其他負(fù)載均衡服務(wù)器提交應(yīng)用服務(wù)節(jié)點(diǎn)請求。在另一實(shí)施例中,客戶端可以采用輪詢的方式將應(yīng)用服務(wù)節(jié)點(diǎn)請求發(fā)送給多個負(fù)載均衡服務(wù)器中的一個。進(jìn)一步地,在本發(fā)明另一實(shí)施例的負(fù)載均衡系統(tǒng)中,在負(fù)載均衡服務(wù)器20上運(yùn)行IceGridRegistry服務(wù)以及在應(yīng)用服務(wù)節(jié)點(diǎn)30上運(yùn)行IceGridNode服務(wù)之后,還可以在負(fù)載均衡服務(wù)器20上啟動IceGridAdmin服務(wù),從而使用IceGridAdmin服務(wù)向IceGridRegistry服務(wù)添加應(yīng)用服務(wù)。具體地,使用IceGridAdmin服務(wù)進(jìn)行管理時(shí)首先要指定要管理的IceGridRegistry服務(wù),這個可以通過配置文件來指定。 在一可選實(shí)施例中,如果要啟動的IceGridAdmin服務(wù)和某個已運(yùn)行的IceGridRegistry在同一負(fù)載均衡服務(wù)器,那么可以使用同一個配置文件,即啟動該負(fù)載均衡服務(wù)器上的IceGridRegistry服務(wù)時(shí)所用的配置文件,這時(shí)IceGridAdmin管理本節(jié)點(diǎn)的IceGridRegistry。在另一可選實(shí)施例中,可以是在任意節(jié)點(diǎn)上啟動并運(yùn)行IceGridAdmin服務(wù),在配置文件中指定要管理的IceGridRegistry的IP和P0RT,這樣可以管理其他節(jié)點(diǎn)上的 IceGridRegistry 服務(wù)。另外,向IceGridRegistry中添加應(yīng)用服務(wù),應(yīng)用需配置在一個xml文件中。配置文件中指定了應(yīng)用服務(wù)的文件路徑等信息,配置文件中指定了應(yīng)用服務(wù)的文件路徑等信息。例如,添加應(yīng)用服務(wù)的命令為:icegridadmin —Ice.Config = config.registry “application add ‘a(chǎn)pplication, xml”,。在進(jìn)一步的實(shí)施例中,還可以使用所述IceGridAdmin服務(wù)在各個IceGridRegistry服務(wù)中刪除或增加同一應(yīng)用服務(wù)節(jié)點(diǎn)。根據(jù)本發(fā)明的另一實(shí)施例,還提供了一種負(fù)載均衡方法,如圖3所示,該負(fù)載均衡方法包括:
S101,在至少一個負(fù)載均衡服務(wù)器上啟動并運(yùn)行IceGridRegistry服務(wù)。S102,使各個應(yīng)用服務(wù)節(jié)點(diǎn)向所運(yùn)行的IceGridRegistry服務(wù)中的至少一個注冊后在所述各個應(yīng)用服務(wù)節(jié)點(diǎn)上啟動并運(yùn)行相應(yīng)的IceGridNode服務(wù)。在可選實(shí)施例中,在每個負(fù)載均衡服務(wù)器啟動所述IceGridRegistry服務(wù)之前,配置對應(yīng)于所述IceGridRegistry服務(wù)的配置文件。例如,所述配置文件可包括IP地址、端口號和使用的傳輸層協(xié)議。例如,對每個負(fù)載均衡服務(wù)器配置該配置文件可以由管理員進(jìn)行操作,或者,負(fù)載均衡服務(wù)器上的配置模塊進(jìn)行配置。S103,每個應(yīng)用服務(wù)節(jié)點(diǎn)上運(yùn)行的一個或多個IceGridNode服務(wù)與相應(yīng)的負(fù)載均衡服務(wù)器上運(yùn)行的IceGridRegistry服務(wù)進(jìn)行通信。其中,該多個IceGridNode服務(wù)分別對應(yīng)于不同負(fù)載均衡服務(wù)器上的一個IceGridRegistry服務(wù)。例如,在使用多個負(fù)載均衡服務(wù)器的情況下,每個IceGridNode服務(wù)通過IP地址等參數(shù)與不同的IceGridRegistry服務(wù)(分別在不同的負(fù)載均衡服務(wù)器上運(yùn)行)進(jìn)行通信。在可選實(shí)施例中,在各個應(yīng)用服務(wù)節(jié)點(diǎn)上啟動一個IceGridNode服務(wù)之前,配置對應(yīng)于該IceGridNode服務(wù)的配置文件,其中,所述配置文件包括指定IceGridNode服務(wù)向IceGridRegistry服務(wù)注冊的IP地址、端口號和使用的傳輸層協(xié)議。類似地,該配置文件可以通過管理員對各個應(yīng)用服務(wù)節(jié)點(diǎn)進(jìn)行操作來配置,也可以是由各應(yīng)用服務(wù)節(jié)點(diǎn)上的配置模塊來進(jìn)行配置。S104,至少一個負(fù)載均衡服務(wù)器中的一個接收到來自客戶端的應(yīng)用服務(wù)節(jié)點(diǎn)請求后,根據(jù)負(fù)載均衡策略向所述客戶端提供到相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)鏈接。S105,客戶端使用所述網(wǎng)絡(luò)鏈接直接與相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)通信以獲得服務(wù)。在本發(fā)明另一可選實(shí)施例的負(fù)載均衡方法中,在步驟S103之后以及步驟S104之前,還包括:在所述至少一個負(fù)載均衡服務(wù)器中的一個上啟動并運(yùn)行IceGridAdmin服務(wù);使用所述IceGridAdmin服務(wù)向所述至少一個負(fù)載均衡服務(wù)器上要管理的IceGridRegistry服務(wù)添加應(yīng)用服務(wù)。在進(jìn)一步的可選實(shí)施例中,還可以包括使用所述IceGridAdmin服務(wù)在各個IceGridRegistry服務(wù)中刪除或增加同一應(yīng)用服務(wù)節(jié)點(diǎn)。在另一可選實(shí)施例中,某一負(fù)載均衡服務(wù)器要在其上啟動IceGridAdmin服務(wù),可以利用其上配置的對應(yīng)于所述IceGridRegistry服務(wù)的配置文件來啟動所述IceGridAdmin 服務(wù)。關(guān)于本發(fā)明實(shí)施例的負(fù)載均衡方法的進(jìn)一步詳細(xì)實(shí)現(xiàn)可以參考前面關(guān)于負(fù)載均衡系統(tǒng)的描述。本發(fā)明實(shí)施例采用IceGrid技術(shù)來實(shí)現(xiàn)應(yīng)用服務(wù)節(jié)點(diǎn)上的負(fù)載均衡和穩(wěn)定。傳統(tǒng)的負(fù)載均衡系統(tǒng),由客戶端、負(fù)載均衡器和應(yīng)用服務(wù)器自己實(shí)現(xiàn)網(wǎng)絡(luò)通信模塊,較難保證網(wǎng)絡(luò)通信的穩(wěn)定可靠,而且對于系統(tǒng)中的各種錯誤處理復(fù)雜。本發(fā)明實(shí)施例提出的基于IceGrid技術(shù)的負(fù)載均衡系統(tǒng)和均衡方法向客戶端與應(yīng)用服務(wù)器或節(jié)點(diǎn)屏蔽了網(wǎng)絡(luò)通信的底層細(xì)節(jié),自動實(shí)現(xiàn)了網(wǎng)絡(luò)通信模塊。而且,傳統(tǒng)負(fù)載均衡服務(wù)器與應(yīng)用服務(wù)器或節(jié)點(diǎn)要專門實(shí)現(xiàn)交換負(fù)載信息的邏輯,必要時(shí)設(shè)計(jì)專用通信協(xié)議;基于IceGird技術(shù)的負(fù)載均衡系統(tǒng)或方法由于具有可靠穩(wěn)定的負(fù)載調(diào)控策略,因此可以降低實(shí)現(xiàn)負(fù)載均衡系統(tǒng)或方法的復(fù)雜度。此外,傳統(tǒng)負(fù)載均衡服務(wù)器基于復(fù)雜度的考慮一般采用單負(fù)載均衡服務(wù)器模式,這使得在新系統(tǒng)應(yīng)用中成為瓶頸,而本發(fā)明實(shí)施例的負(fù)載均衡系統(tǒng)或方法采用多負(fù)載均衡服務(wù)節(jié)點(diǎn)技術(shù),可以避免因負(fù)載均衡服務(wù)器故障導(dǎo)致的不穩(wěn)定,并且與傳統(tǒng)負(fù)載均衡服務(wù)器相t匕,這種負(fù)載均衡方案對整個系統(tǒng)升級與維護(hù)簡單可靠,例如,維護(hù)某個應(yīng)用服務(wù)節(jié)點(diǎn)時(shí)只需使用IceGridAdmin服務(wù)從各個IceGridRegistry服務(wù)中將該節(jié)點(diǎn)進(jìn)行刪除即可,要增加應(yīng)用服務(wù)節(jié)點(diǎn)也只需使用IceGridAdmin服務(wù)向各個IceGridRegistry服務(wù)中增加該節(jié)點(diǎn);而要維護(hù)負(fù)載均衡節(jié)點(diǎn)可以直接斷掉以對其進(jìn)行維護(hù)。在此提供的算法和實(shí)現(xiàn)不限于任何特定的計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個模塊或單元或部件,以及此外可以把它們分成多個子模塊或子單元或子部件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本申請的說明書中雖然描述了本發(fā)明實(shí)施例的大量具體細(xì)節(jié),然而,能夠理解,本發(fā)明實(shí)施例并不是必須在所有的具體細(xì)節(jié)情況下才能實(shí)施。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便于清楚地理解本發(fā)明的發(fā)明主旨。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種負(fù)載均衡方法,包括: 在至少一個負(fù)載均衡服務(wù)器上啟動并運(yùn)行IceGridRegistry服務(wù); 使各個應(yīng)用服務(wù)節(jié)點(diǎn)向所運(yùn)行的IceGridRegistry服務(wù)中的至少一個注冊后在所述各個應(yīng)用服務(wù)節(jié)點(diǎn)上啟動并運(yùn)行相應(yīng)的IceGridNode服務(wù); 每個應(yīng)用服務(wù)節(jié)點(diǎn)上運(yùn)行的一個或多個IceGridNode服務(wù)與相應(yīng)的負(fù)載均衡服務(wù)器上運(yùn)行的IceGridRegistry服務(wù)進(jìn)行通信,其中,所述多個IceGridNode服務(wù)分別對應(yīng)于不同負(fù)載均衡服務(wù)器上的一個IceGridRegistry服務(wù); 所述至少一個負(fù)載均衡服務(wù)器中的一個接收到來自客戶端的應(yīng)用服務(wù)節(jié)點(diǎn)請求后,根據(jù)負(fù)載均衡策略向所述客戶端提供到相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)鏈接; 所述客戶端使用所述網(wǎng)絡(luò)鏈接直接與相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)通信以獲得服務(wù)。
2.根據(jù)權(quán)利要求1所述的負(fù)載均衡方法,其特征在于: 在每個負(fù)載均衡服務(wù)器上啟動所述IceGridRegistry服務(wù)之前,配置對應(yīng)于所述IceGridRegistry服務(wù)的配置文件,其中,所述配置文件包括IP地址、端口號和使用的傳輸層協(xié)議。
3.根據(jù)權(quán)利要求1所述的負(fù)載均衡方法,其特征在于: 在各個應(yīng)用服務(wù)節(jié)點(diǎn)上啟動一個IceGridNode服務(wù)之前,配置對應(yīng)于該IceGridNode服務(wù)的配置文件,其中,所述配置文件包括指定IceGridNode服務(wù)向IceGridRegistry服務(wù)注冊的IP地址、端口號和使用的傳輸層協(xié)議。
4.根據(jù)權(quán)利要求1或2所述的負(fù)載均衡方法,其特征在于: 在所述至少一個負(fù)載均衡服務(wù)器中的一個上啟動并運(yùn)行IceGridAdmin服務(wù); 使用所述IceGridAdmin服務(wù)向所述至少一個負(fù)載均衡服務(wù)器上要管理的IceGridRegistry服務(wù)添加應(yīng)用服務(wù);或者,使用所述IceGridAdmin服務(wù)在各個IceGridRegistry服務(wù)中刪除或增加同一應(yīng)用服務(wù)節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求4所述的負(fù)載均衡方法,其特征在于: 對于要在其上啟動IceGridAdmin服務(wù)的負(fù)載均衡服務(wù)器,利用該負(fù)載均衡服務(wù)器上配置的對應(yīng)于所述IceGridRegistry服務(wù)的配置文件來啟動所述IceGridAdmin服務(wù)。
6.一種負(fù)載均衡系統(tǒng),包括:至少一個負(fù)載均衡服務(wù)器和多個應(yīng)用服務(wù)節(jié)點(diǎn),其中: 所述至少一個負(fù)載均衡服務(wù)器中的一個或多個用于在其上啟動并運(yùn)行一個IceGridRegistry 服務(wù); 每個應(yīng)用服務(wù)節(jié)點(diǎn)用于向所運(yùn)行的IceGridRegistry服務(wù)中的至少一個注冊后啟動并運(yùn)行相應(yīng)的IceGridNode服務(wù),并且,每個應(yīng)用服務(wù)節(jié)點(diǎn)上運(yùn)行的一個或多個IceGridNode服務(wù)與相應(yīng)的負(fù)載均衡服務(wù)器上運(yùn)行的IceGridRegistry服務(wù)進(jìn)行通信,其中,所述多個IceGridNode服務(wù)分別對應(yīng)于不同負(fù)載均衡服務(wù)器上的一個IceGridRegistry 服務(wù); 所述負(fù)載均衡服務(wù)器還用于在接收到來自客戶端的應(yīng)用服務(wù)節(jié)點(diǎn)請求后,根據(jù)負(fù)載均衡策略向所述客戶端提供到相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)鏈接,以便所述客戶端使用所述網(wǎng)絡(luò)鏈接直接與相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)通信以獲得服務(wù)。
7.根據(jù)權(quán)利要求6所述的負(fù)載均衡系統(tǒng),其特征在于,所述負(fù)載均衡服務(wù)器還用于在啟動所述IceGridRegistry服務(wù)之前,配置對應(yīng)于所述IceGridRegistry服務(wù)的配置文件,其中,所述配置文件包括IP地址、端口號和使用的傳輸層協(xié)議。
8.根據(jù)權(quán)利要求6所述的負(fù)載均衡系統(tǒng),其特征在于,各個應(yīng)用服務(wù)節(jié)點(diǎn)還用于在啟動一個IceGridNode服務(wù)之前,配置對應(yīng)于該IceGridNode服務(wù)的配置文件,其中,所述配置文件包括指定IceGridNode服務(wù)向IceGridRegistry服務(wù)注冊的IP地址、端口號和使用的傳輸層協(xié)議。
9.根據(jù)權(quán)利要求6或7所述的負(fù)載均衡系統(tǒng),其特征在于,所述至少一個負(fù)載均衡服務(wù)器中的一個還用于執(zhí)行以下功能: 啟動IceGridAdmin服務(wù);以及, 使用所述IceGridAdmin服務(wù)向要管理的IceGridRegistry服務(wù)添加應(yīng)用服務(wù);或者,使用所述IceGridAdmin服務(wù)在各個IceGridRegistry服務(wù)中刪除或增加同一應(yīng)用服務(wù)節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求9所述的負(fù)載均衡系統(tǒng),其特征在于,所述至少一個負(fù)載均衡服務(wù)器中的一個啟動IceGridAdmin服務(wù)包括: 利用其上配置的對 應(yīng)于所述IceGridRegistry服務(wù)的配置文件來啟動IceGridAdmin服務(wù)。
全文摘要
本發(fā)明公開了一種負(fù)載均衡方法,包括在至少一個負(fù)載均衡服務(wù)器上啟動并運(yùn)行IceGridRegistry服務(wù);使各個應(yīng)用服務(wù)節(jié)點(diǎn)向所運(yùn)行的IceGridRegistry服務(wù)中的至少一個注冊后在各個應(yīng)用服務(wù)節(jié)點(diǎn)上啟動并運(yùn)行相應(yīng)的IceGridNode服務(wù);每個應(yīng)用服務(wù)節(jié)點(diǎn)上運(yùn)行的一個或多個IceGridNode服務(wù)與相應(yīng)的負(fù)載均衡服務(wù)器上運(yùn)行的IceGridRegistry服務(wù)進(jìn)行通信,其中,所述多個IceGridNode服務(wù)分別對應(yīng)于不同負(fù)載均衡服務(wù)器上的一個IceGridRegistry服務(wù);所述至少一個負(fù)載均衡服務(wù)器中的一個接收到來自客戶端的應(yīng)用服務(wù)節(jié)點(diǎn)請求后,根據(jù)負(fù)載均衡策略向所述客戶端提供到相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)的網(wǎng)絡(luò)鏈接;客戶端使用該網(wǎng)絡(luò)鏈接直接與相應(yīng)的應(yīng)用服務(wù)節(jié)點(diǎn)通信以獲得服務(wù)。本發(fā)明還提供了一種負(fù)載均衡系統(tǒng)。采用本發(fā)明,可以提供穩(wěn)定可靠的負(fù)載均衡服務(wù)。
文檔編號H04L29/08GK103118142SQ20131008169
公開日2013年5月22日 申請日期2013年3月14日 優(yōu)先權(quán)日2013年3月14日
發(fā)明者王少佳, 宋懷明, 苗艷超, 劉新春, 邵宗有 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司