分布式集群資源控制器的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2022-01-27 06:37
隨著互聯(lián)網(wǎng)的快速發(fā)展,互聯(lián)網(wǎng)在為用戶提供服務(wù)的同時(shí)也在經(jīng)受巨大的挑戰(zhàn)。傳統(tǒng)的單一服務(wù)器無(wú)法處理大量的并發(fā)業(yè)務(wù),計(jì)算機(jī)集群應(yīng)運(yùn)而生。計(jì)算機(jī)集群是分布式系統(tǒng)的一個(gè)重要分類,被廣泛地應(yīng)用在高性能計(jì)算中,它緩解了服務(wù)器面對(duì)高并發(fā)業(yè)務(wù)的壓力。但是單靠增加服務(wù)器的數(shù)量也會(huì)出現(xiàn)性能瓶頸,傳統(tǒng)的負(fù)載均衡算法無(wú)法綜合的衡量集群的性能,異構(gòu)集群中每臺(tái)服務(wù)器的處理能力都不相同,如何處理高并發(fā)下的大量讀寫(xiě)數(shù)據(jù),這些問(wèn)題都對(duì)集群的處理能力提出了更高的要求。因此,如何提高集群在高并發(fā)下的處理能力是本文研究的課題。本文設(shè)計(jì)了一個(gè)基于資源控制的集群系統(tǒng),并詳細(xì)介紹了系統(tǒng)的理論基礎(chǔ)、設(shè)計(jì)思路、實(shí)現(xiàn)與測(cè)試。以下是本文的具體工作:1)設(shè)計(jì)和實(shí)現(xiàn)一個(gè)分布式系統(tǒng)。負(fù)載均衡節(jié)點(diǎn)負(fù)責(zé)實(shí)現(xiàn)對(duì)客戶端業(yè)務(wù)的負(fù)載均衡,服務(wù)節(jié)點(diǎn)實(shí)現(xiàn)對(duì)大量客戶端請(qǐng)求的峰值處理。2)動(dòng)態(tài)反饋負(fù)載均衡策略。針對(duì)傳統(tǒng)的負(fù)載均衡算法無(wú)法綜合評(píng)價(jià)節(jié)點(diǎn)負(fù)載情況的問(wèn)題,特別是異構(gòu)集群這種復(fù)雜的情況,基于此本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于動(dòng)態(tài)反饋的負(fù)載均衡算法DAL。為了了解系統(tǒng)的動(dòng)態(tài)負(fù)載情況,服務(wù)節(jié)點(diǎn)周期性地收集自身的負(fù)載指標(biāo)并對(duì)其進(jìn)行權(quán)值量化,這些指標(biāo)包括CPU、內(nèi)存等,其次結(jié)...
【文章來(lái)源】:電子科技大學(xué)四川省211工程院校985工程院校教育部直屬院校
【文章頁(yè)數(shù)】:77 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
消息中間件系統(tǒng)層次圖
電子科技大學(xué)碩士學(xué)位論文18圖4-1通信數(shù)據(jù)格式type:消息類別(string),默認(rèn)為req。id:消息id(string)。如果是消息是push類型則不會(huì)有此字段。name:消息名稱(string),將對(duì)應(yīng)系統(tǒng)的業(yè)務(wù)和功能。同一個(gè)消息的請(qǐng)求和回復(fù)的名稱應(yīng)該一致。code:回復(fù)碼,resp消息的專有,用來(lái)標(biāo)識(shí)請(qǐng)求的結(jié)果,成功為0,其他為失敗。body:消息體,和消息名稱有關(guān),可以是數(shù)組,字符型,對(duì)象等。在應(yīng)用層,系統(tǒng)將交互的信息分為消息頭和消息體。消息頭大小為20字節(jié),消息體長(zhǎng)度不定,具體設(shè)計(jì)格式如下圖4-2所示:圖4-2消息message格式cmd:消息標(biāo)志,uint32_t,綁定消息名稱(name),用來(lái)表示消息的業(yè)務(wù)類型,節(jié)點(diǎn)和業(yè)務(wù)模塊需要提交協(xié)商好交互協(xié)議。length:消息體req長(zhǎng)度,不包括消息標(biāo)識(shí)和消息本字段的長(zhǎng)度,uint32_t。error:錯(cuò)誤碼,uint32_t,默認(rèn)為0,在頭文件error.h里定義錯(cuò)誤及錯(cuò)誤碼。para1、para2:可選自定義參數(shù),可用于功能擴(kuò)展,uint32_t,消息id被記錄在參數(shù)里。req:消息體,請(qǐng)求的具體數(shù)據(jù),采用protocolbuffer協(xié)議進(jìn)行序列化方便消息傳輸。網(wǎng)絡(luò)通信為了應(yīng)對(duì)高并發(fā)的環(huán)境,需要選擇合適的網(wǎng)絡(luò)框架。系統(tǒng)采用Reactor機(jī)制的事件驅(qū)動(dòng)模型以及Epoll多路復(fù)用技術(shù)來(lái)管理I/O事件,通過(guò)觸發(fā)Agent來(lái)監(jiān)聽(tīng)和讀取來(lái)自客戶端的連接請(qǐng)求,服務(wù)器端采用多線程機(jī)制來(lái)處理任務(wù)。Epoll機(jī)制實(shí)cmdlengtherrorpara1para2req消息頭req消息體
第四章分布式集群資源控制器的設(shè)計(jì)與實(shí)現(xiàn)21圖4-5定時(shí)器模塊實(shí)現(xiàn)類圖Timer是對(duì)定時(shí)器的封裝,超時(shí)處理函數(shù)、取消定時(shí)器和設(shè)置超時(shí)時(shí)間間隔功能在EventLoop里聲明,每個(gè)定時(shí)器都有一個(gè)編號(hào)。TimerList是一個(gè)Timer類型的容器,用來(lái)管理全部的定時(shí)器,它的成員timerfd被注冊(cè)在epoll監(jiān)聽(tīng)事件中,如果定時(shí)器超時(shí)timerfd變?yōu)榭勺x事件,間接調(diào)用EventLoop里的超時(shí)處理函數(shù),多個(gè)定時(shí)器通過(guò)timerfd觸發(fā),同時(shí)在TimerList里超時(shí)的定時(shí)器會(huì)有序排列等待handle_read函數(shù)調(diào)用處理。4.2節(jié)點(diǎn)管理客戶端ClientClient模塊是系統(tǒng)提給上層應(yīng)用的API接口,它是用戶和服務(wù)端的中介,它為用戶提供了業(yè)務(wù)支持,讓用戶可以通過(guò)WEB界面發(fā)出指令,向負(fù)載均衡節(jié)點(diǎn)發(fā)起請(qǐng)求獲取需要連接的服務(wù)節(jié)點(diǎn),與服務(wù)節(jié)點(diǎn)建立連接,并轉(zhuǎn)發(fā)客戶端的數(shù)據(jù)。它的具體設(shè)計(jì)如下圖4-6所示。
【參考文獻(xiàn)】:
期刊論文
[1]基于動(dòng)態(tài)指數(shù)平滑預(yù)測(cè)的負(fù)載均衡算法[J]. 孟利民,徐楊. 浙江工業(yè)大學(xué)學(xué)報(bào). 2016(04)
[2]基于CPU和內(nèi)存利用率的負(fù)載均衡算法的研究[J]. 楊明極,王鶴,趙加鳳. 科技通報(bào). 2016(04)
[3]基于負(fù)載權(quán)值的負(fù)載均衡算法[J]. 張玉芳,魏欽磊,趙膺. 計(jì)算機(jī)應(yīng)用研究. 2012(12)
[4]基于預(yù)測(cè)機(jī)制的自適應(yīng)負(fù)載均衡算法[J]. 石磊,何增輝. 計(jì)算機(jī)應(yīng)用. 2010(07)
[5]Web集群系統(tǒng)的負(fù)載均衡算法[J]. 王春娟,董麗麗,賈麗. 計(jì)算機(jī)工程. 2010(02)
[6]業(yè)務(wù)需求驅(qū)動(dòng)下的負(fù)載均衡技術(shù)研究與應(yīng)用[J]. 蔣鴻城,洪建光,謝知寒. 電力信息化. 2008(S1)
[7]集群系統(tǒng)中的動(dòng)態(tài)反饋負(fù)載均衡策略[J]. 買京京,龔紅艷,宋純賀. 計(jì)算機(jī)工程. 2008(16)
[8]消息中間件綜述[J]. 徐晶,許煒. 計(jì)算機(jī)工程. 2005(16)
本文編號(hào):3611964
【文章來(lái)源】:電子科技大學(xué)四川省211工程院校985工程院校教育部直屬院校
【文章頁(yè)數(shù)】:77 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
消息中間件系統(tǒng)層次圖
電子科技大學(xué)碩士學(xué)位論文18圖4-1通信數(shù)據(jù)格式type:消息類別(string),默認(rèn)為req。id:消息id(string)。如果是消息是push類型則不會(huì)有此字段。name:消息名稱(string),將對(duì)應(yīng)系統(tǒng)的業(yè)務(wù)和功能。同一個(gè)消息的請(qǐng)求和回復(fù)的名稱應(yīng)該一致。code:回復(fù)碼,resp消息的專有,用來(lái)標(biāo)識(shí)請(qǐng)求的結(jié)果,成功為0,其他為失敗。body:消息體,和消息名稱有關(guān),可以是數(shù)組,字符型,對(duì)象等。在應(yīng)用層,系統(tǒng)將交互的信息分為消息頭和消息體。消息頭大小為20字節(jié),消息體長(zhǎng)度不定,具體設(shè)計(jì)格式如下圖4-2所示:圖4-2消息message格式cmd:消息標(biāo)志,uint32_t,綁定消息名稱(name),用來(lái)表示消息的業(yè)務(wù)類型,節(jié)點(diǎn)和業(yè)務(wù)模塊需要提交協(xié)商好交互協(xié)議。length:消息體req長(zhǎng)度,不包括消息標(biāo)識(shí)和消息本字段的長(zhǎng)度,uint32_t。error:錯(cuò)誤碼,uint32_t,默認(rèn)為0,在頭文件error.h里定義錯(cuò)誤及錯(cuò)誤碼。para1、para2:可選自定義參數(shù),可用于功能擴(kuò)展,uint32_t,消息id被記錄在參數(shù)里。req:消息體,請(qǐng)求的具體數(shù)據(jù),采用protocolbuffer協(xié)議進(jìn)行序列化方便消息傳輸。網(wǎng)絡(luò)通信為了應(yīng)對(duì)高并發(fā)的環(huán)境,需要選擇合適的網(wǎng)絡(luò)框架。系統(tǒng)采用Reactor機(jī)制的事件驅(qū)動(dòng)模型以及Epoll多路復(fù)用技術(shù)來(lái)管理I/O事件,通過(guò)觸發(fā)Agent來(lái)監(jiān)聽(tīng)和讀取來(lái)自客戶端的連接請(qǐng)求,服務(wù)器端采用多線程機(jī)制來(lái)處理任務(wù)。Epoll機(jī)制實(shí)cmdlengtherrorpara1para2req消息頭req消息體
第四章分布式集群資源控制器的設(shè)計(jì)與實(shí)現(xiàn)21圖4-5定時(shí)器模塊實(shí)現(xiàn)類圖Timer是對(duì)定時(shí)器的封裝,超時(shí)處理函數(shù)、取消定時(shí)器和設(shè)置超時(shí)時(shí)間間隔功能在EventLoop里聲明,每個(gè)定時(shí)器都有一個(gè)編號(hào)。TimerList是一個(gè)Timer類型的容器,用來(lái)管理全部的定時(shí)器,它的成員timerfd被注冊(cè)在epoll監(jiān)聽(tīng)事件中,如果定時(shí)器超時(shí)timerfd變?yōu)榭勺x事件,間接調(diào)用EventLoop里的超時(shí)處理函數(shù),多個(gè)定時(shí)器通過(guò)timerfd觸發(fā),同時(shí)在TimerList里超時(shí)的定時(shí)器會(huì)有序排列等待handle_read函數(shù)調(diào)用處理。4.2節(jié)點(diǎn)管理客戶端ClientClient模塊是系統(tǒng)提給上層應(yīng)用的API接口,它是用戶和服務(wù)端的中介,它為用戶提供了業(yè)務(wù)支持,讓用戶可以通過(guò)WEB界面發(fā)出指令,向負(fù)載均衡節(jié)點(diǎn)發(fā)起請(qǐng)求獲取需要連接的服務(wù)節(jié)點(diǎn),與服務(wù)節(jié)點(diǎn)建立連接,并轉(zhuǎn)發(fā)客戶端的數(shù)據(jù)。它的具體設(shè)計(jì)如下圖4-6所示。
【參考文獻(xiàn)】:
期刊論文
[1]基于動(dòng)態(tài)指數(shù)平滑預(yù)測(cè)的負(fù)載均衡算法[J]. 孟利民,徐楊. 浙江工業(yè)大學(xué)學(xué)報(bào). 2016(04)
[2]基于CPU和內(nèi)存利用率的負(fù)載均衡算法的研究[J]. 楊明極,王鶴,趙加鳳. 科技通報(bào). 2016(04)
[3]基于負(fù)載權(quán)值的負(fù)載均衡算法[J]. 張玉芳,魏欽磊,趙膺. 計(jì)算機(jī)應(yīng)用研究. 2012(12)
[4]基于預(yù)測(cè)機(jī)制的自適應(yīng)負(fù)載均衡算法[J]. 石磊,何增輝. 計(jì)算機(jī)應(yīng)用. 2010(07)
[5]Web集群系統(tǒng)的負(fù)載均衡算法[J]. 王春娟,董麗麗,賈麗. 計(jì)算機(jī)工程. 2010(02)
[6]業(yè)務(wù)需求驅(qū)動(dòng)下的負(fù)載均衡技術(shù)研究與應(yīng)用[J]. 蔣鴻城,洪建光,謝知寒. 電力信息化. 2008(S1)
[7]集群系統(tǒng)中的動(dòng)態(tài)反饋負(fù)載均衡策略[J]. 買京京,龔紅艷,宋純賀. 計(jì)算機(jī)工程. 2008(16)
[8]消息中間件綜述[J]. 徐晶,許煒. 計(jì)算機(jī)工程. 2005(16)
本文編號(hào):3611964
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3611964.html
最近更新
教材專著