版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于Linux 的服務(wù)器集群負(fù)載均衡系統(tǒng)的研究熊松華東交通大學(xué)信息工程學(xué)院,南昌 (330013E-mail :摘 要:負(fù)載均衡是建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,提供一種廉價(jià)有效的方法擴(kuò)展服務(wù)器帶寬和增加吞吐量,加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力的方法。提出了負(fù)載均衡算法的組成,分析比較了幾種算法各自的優(yōu)點(diǎn)和短處。通過調(diào)度思想設(shè)計(jì)實(shí)現(xiàn)了一種基于Linux 操作系統(tǒng)的服務(wù)器集群負(fù)載均衡系統(tǒng)。通過實(shí)際的測(cè)試數(shù)據(jù)證明了這種負(fù)載均衡模式的有效性。關(guān)鍵詞:負(fù)載均衡,服務(wù)器集群,LINUX ,調(diào)度中圖分類號(hào):TP393.011. 引言互聯(lián)網(wǎng)的快速增長(zhǎng)已經(jīng)使網(wǎng)絡(luò)服務(wù)器面對(duì)的訪問數(shù)量大大增加并且將來的增長(zhǎng)速度更加不可預(yù)知。如今,務(wù)
2、器必須具備提供大量并發(fā)訪問服務(wù)的能力,其處理能力和I/O能力已經(jīng)成為瓶頸,如果客戶的增多導(dǎo)致處理量超出了服務(wù)器所能承受的范圍,那么其結(jié)果必然是導(dǎo)致服務(wù)器拒絕服務(wù)或者崩潰,嚴(yán)重影響服務(wù)質(zhì)量,造成巨大的經(jīng)濟(jì)損失。顯然,單臺(tái)服務(wù)器有限的性能不可能解決這個(gè)問題,可將多臺(tái)服務(wù)器組成一個(gè)系統(tǒng),并通過軟件技術(shù)將所有業(yè)務(wù)處理請(qǐng)求和I/O吞吐平均分配給所有服務(wù)器,那么這個(gè)系統(tǒng)就完全擁有足夠的處理能力,這便是負(fù)載均衡最初的基本設(shè)計(jì)思想。Linux 系統(tǒng)是當(dāng)今使用非常廣泛的服務(wù)器系統(tǒng),它具有良好的安全性、高效性、穩(wěn)定性、可擴(kuò)展性和易用性。特別需要提到的是Linux 系統(tǒng)是開源操作系統(tǒng),所有源代碼是公開的并且可以在遵
3、循GPL (General Public License)的情況下可按需修改源程序,制定符合特殊應(yīng)用領(lǐng)域的專業(yè)操作系統(tǒng)。在本文闡述的負(fù)載均衡技術(shù)的研究中,將使用上述Linux 操作系統(tǒng)的優(yōu)點(diǎn)和特性,設(shè)計(jì)出合理高效的系統(tǒng)1。本文內(nèi)容是基于Linux 操作系統(tǒng)的服務(wù)器集群負(fù)載均衡技術(shù)的研究,針對(duì)當(dāng)前大中型服務(wù)應(yīng)用中所遇到的瓶頸,進(jìn)行了深入的研究,提出了一些解決辦法。2. 負(fù)載均衡系統(tǒng)的算法分析2.1 負(fù)載均衡的種類負(fù)載均衡分為兩種類型:一種是靜態(tài)負(fù)載均衡,一種是動(dòng)態(tài)負(fù)載均衡。只是利用系統(tǒng)負(fù)載的平均信息,而忽視系統(tǒng)當(dāng)前的負(fù)載狀況的方法被稱為靜態(tài)負(fù)載均衡。根據(jù)系統(tǒng)當(dāng)前的負(fù)載狀況來調(diào)整任務(wù)劃分的方法被稱
4、為動(dòng)態(tài)負(fù)載均衡。本文中將針對(duì)動(dòng)態(tài)負(fù)載均衡進(jìn)行分析與研究。2.2 產(chǎn)生負(fù)載不均衡的原因分析產(chǎn)生負(fù)載不均衡的原因主要有以下三種:1 某些算法的迭代大小不是固定的,但迭代的大小在編譯時(shí)卻可以被求得;2 某些算法的迭代大小不是固定的,并且迭代的大小依賴于被處理的數(shù)據(jù),在編譯時(shí)無法求得;3 即使迭代大小是固定的,也會(huì)有許多不定因素導(dǎo)致計(jì)算速度的差異;對(duì)于第一種情況可在編譯時(shí)估計(jì)各迭代的工作量,按照處理節(jié)點(diǎn)的處理能力分布迭代,這就是靜態(tài)負(fù)載均衡的方法。對(duì)第二、三種情況來說,必須采用動(dòng)態(tài)負(fù)載均衡的手段,在運(yùn)行過程中根據(jù)各個(gè)處理節(jié)點(diǎn)完成任務(wù)的情況,動(dòng)態(tài)地遷移任務(wù),實(shí)現(xiàn)動(dòng)態(tài)負(fù)載均衡。進(jìn)行動(dòng)態(tài)負(fù)載均衡需要考察處理
5、節(jié)點(diǎn)的處理能力,它的基本依據(jù)是根據(jù)處理節(jié)點(diǎn)當(dāng)前的處理速度預(yù)見未來的處理速度2。2.3 負(fù)載均衡算法的組成一個(gè)負(fù)載均衡算法應(yīng)當(dāng)包含以下三個(gè)組成部分:信息策略:任務(wù)放置策略使用的負(fù)載和任務(wù)量,以及信息分配的方式。傳送策略:基于任務(wù)和服務(wù)器負(fù)載,判斷是否要把一個(gè)任務(wù)傳送到其它服務(wù)器上處理。 放置策略:對(duì)于適合傳送到其它服務(wù)器處理的任務(wù),選擇任務(wù)將被傳送的目的服務(wù)器。 負(fù)載均衡的上述三個(gè)部分之間是以不同的方式相互作用的。放置策略利用信息策略提供的負(fù)載信息,僅當(dāng)任務(wù)被傳送策略判斷為適于傳送之后才行動(dòng)??偟貋碚f,設(shè)計(jì)優(yōu)良的負(fù)載均衡算法應(yīng)當(dāng)提供最短的平均任務(wù)響應(yīng)時(shí)間,能適于變化的負(fù)載,是可靠的負(fù)載均衡機(jī)制。
6、放置策略是集群負(fù)載均衡算法的關(guān)鍵,它決定了一個(gè)集群負(fù)載均衡算法的主要效率、穩(wěn)定性和健壯性。本文將分析以下三種集群負(fù)載均衡算法中放置策略的優(yōu)點(diǎn)和缺點(diǎn)。(1 閥值策略。隨機(jī)選擇集群中一臺(tái)服務(wù)器,判斷若把任務(wù)傳送到此服務(wù)器后任務(wù)隊(duì)列長(zhǎng)度是否會(huì)超過閥值。如果不超過,就傳送此任務(wù);否則,隨機(jī)選擇另一臺(tái)服務(wù)器,并以同樣方式進(jìn)行判斷。循環(huán)處理,直到找到一臺(tái)合適的目的服務(wù)器,或探測(cè)次數(shù)超過一個(gè)靜態(tài)值限制,當(dāng)任務(wù)真正到達(dá)服務(wù)器后,不管狀態(tài)如何,必須處理該任務(wù)。該策略的優(yōu)點(diǎn)是能確保一個(gè)進(jìn)入集群的任務(wù)請(qǐng)求能夠被應(yīng)答。缺點(diǎn)是隨機(jī)選擇集群中的服務(wù)器進(jìn)行閥值判斷降低了服務(wù)響應(yīng)的時(shí)間。(2 最短任務(wù)隊(duì)列策略。隨機(jī)選擇集群中
7、若干臺(tái)不同的服務(wù)器,察看每臺(tái)服務(wù)器的任務(wù)隊(duì)列長(zhǎng)度,任務(wù)被傳送到具有最短任務(wù)隊(duì)列長(zhǎng)度的服務(wù)器。當(dāng)任務(wù)真正到達(dá)服務(wù)器,無論狀態(tài)如何,目的服務(wù)器必須處理該任務(wù)。該策略的優(yōu)點(diǎn)是能確保一個(gè)進(jìn)入集群的任務(wù)請(qǐng)求保證能夠被應(yīng)答。缺點(diǎn)同樣是隨機(jī)選擇集群中的若干臺(tái)服務(wù)器進(jìn)行閥值判斷降低了服務(wù)響應(yīng)的時(shí)間。相對(duì)閥值策略而言,該策略的響應(yīng)時(shí)間和響應(yīng)效率已有提高。(3 保留策略。當(dāng)一個(gè)任務(wù)從一臺(tái)服務(wù)器離開時(shí),該服務(wù)器檢查本地負(fù)載,如果負(fù)載小于閥值T1,就探測(cè)其它服務(wù)器,并在R 個(gè)負(fù)載大于T1的服務(wù)器中登記該服務(wù)器的名字,并把登記的內(nèi)容保留到一個(gè)棧中。當(dāng)一個(gè)任務(wù)到達(dá)一臺(tái)超載的服務(wù)器時(shí),就把這個(gè)任務(wù)傳送到此服務(wù)器棧頂上。如果
8、一個(gè)服務(wù)器的負(fù)載低于T1,就清空棧里保留的所有服務(wù)器名。該策略的優(yōu)點(diǎn)是集群中的服務(wù)器采用主動(dòng)方式動(dòng)態(tài)調(diào)整負(fù)載的分配,能夠取得較好的響應(yīng)效率。缺點(diǎn)是一旦機(jī)群中某臺(tái)服務(wù)器由于故障無法和其他服務(wù)器進(jìn)行通訊,就會(huì)造成處于這臺(tái)失效服務(wù)器上的業(yè)務(wù)被死鎖,無法得到響應(yīng)。3. 提出改進(jìn)的負(fù)載均衡算法在特定的應(yīng)用場(chǎng)合有不同的集群負(fù)載均衡需求,現(xiàn)有的算法大多為集群內(nèi)部業(yè)務(wù)處理機(jī)充當(dāng)負(fù)載判定者的角色。這種處理方式具有以下兩個(gè)方面的缺點(diǎn):(1 降低了業(yè)務(wù)處理機(jī)的專一性,業(yè)務(wù)服務(wù)器在承擔(dān)業(yè)務(wù)處理的同時(shí)還需要由自身來兼顧負(fù)載的判斷,這種方式在處理比較耗時(shí)的I/O任務(wù)時(shí)容易造成業(yè)務(wù)請(qǐng)求在集群中的停滯等待。(2 降低了集群的
9、I/O吞吐能力,業(yè)務(wù)請(qǐng)求在集群內(nèi)部的跳轉(zhuǎn)和判斷占用了太多的內(nèi)部網(wǎng)絡(luò)資源和處理時(shí)間。本文針對(duì)現(xiàn)有集群負(fù)載均衡算法的局限性,提出一種改進(jìn)的集群負(fù)載均衡算法,它是基于調(diào)度思想的。該思想就是讓一個(gè)特定的處理節(jié)點(diǎn)獨(dú)立出來?yè)?dān)任業(yè)務(wù)分配器的角色,我們稱之為調(diào)度服務(wù)器,而把其它完成業(yè)務(wù)處理的節(jié)點(diǎn)稱業(yè)務(wù)服務(wù)器。調(diào)度服務(wù)器為了掌握負(fù)載情況,需要維護(hù)一張負(fù)載分布表。在系統(tǒng)運(yùn)行時(shí),業(yè)務(wù)服務(wù)器按照一定的周期向調(diào)度服務(wù)器提交業(yè)務(wù)完成情況,由調(diào)度服務(wù)器根據(jù)這些信息判斷各個(gè)業(yè)務(wù)服務(wù)器的處理能力,進(jìn)行任務(wù)分配,將業(yè)務(wù)請(qǐng)求分配給負(fù)載較輕的業(yè)務(wù)服務(wù)器,同時(shí)還要隨之更新在調(diào)度服務(wù)器上的負(fù)載分布表。任務(wù)調(diào)度的優(yōu)點(diǎn)是顯而易見的,調(diào)度服務(wù)
10、器掌握所有業(yè)務(wù)服務(wù)器的處理能力和負(fù)載的分布情況,因此它可以在綜合各種因素的基礎(chǔ)上找到最佳的任務(wù)分派方式。特別需要提出的是,調(diào)度服務(wù)器在判斷是否進(jìn)行任務(wù)分派時(shí),業(yè)務(wù)服務(wù)器必須等待,這無疑又降低了業(yè)務(wù)服務(wù)器的處理能力。本文中的系統(tǒng)采用的方法是調(diào)度服務(wù)器在收到業(yè)務(wù)服務(wù)器的當(dāng)前任務(wù)完成情況時(shí),立即將其存儲(chǔ),并把根據(jù)上次的信息做出的判斷返回給業(yè)務(wù)服務(wù)器以減少延遲,在空閑時(shí)再根據(jù)本次收到的信息做出判斷,留到下次使用。這樣就把調(diào)度服務(wù)器進(jìn)行任務(wù)分派決策的時(shí)間和業(yè)務(wù)服務(wù)器完成業(yè)務(wù)處理的時(shí)間重疊了起來,降低了動(dòng)態(tài)負(fù)載均衡的開銷。4. 負(fù)載均衡系統(tǒng)的設(shè)計(jì)4.1 負(fù)載均衡服務(wù)器集群的系統(tǒng)架構(gòu)負(fù)載均衡服務(wù)器集群系統(tǒng)框
11、架如圖1所示,系統(tǒng)由客戶端、路由控制設(shè)備、調(diào)度服務(wù)器、業(yè)務(wù)服務(wù)器等4部分組成。整個(gè)系統(tǒng)從體系的安全性和性能都做了周密的設(shè)計(jì),任何客戶端發(fā)出的請(qǐng)求都必須經(jīng)過防火墻的檢測(cè),也必須符合路由中設(shè)置的訪問控制規(guī)則的限制,以保證任何到達(dá)調(diào)度服務(wù)器的請(qǐng)求都具有安全合法的來源。 圖1負(fù)載均衡服務(wù)器集群系統(tǒng)框架圖Fig1 System framework of load balancing server cluster如圖2所示,顯示了一次完整的從客戶提出服務(wù)請(qǐng)求到完成服務(wù)的過程??蛻舳耸紫忍岢龇?wù)請(qǐng)求,通過Internet 發(fā)送至調(diào)度服務(wù)器所用的IP 地址和服務(wù)端口,之前必須要通過防火墻和路由規(guī)則的驗(yàn)證。調(diào)度
12、服務(wù)器通過運(yùn)行在本機(jī)上的調(diào)度算法從業(yè)務(wù)處理機(jī)集群中選擇出當(dāng)前負(fù)載最輕的業(yè)務(wù)服務(wù)器,將客戶服務(wù)請(qǐng)求轉(zhuǎn)發(fā)到這臺(tái)業(yè)務(wù)服務(wù)器上,完成業(yè)務(wù)處理。依據(jù)服務(wù)使用網(wǎng)絡(luò)協(xié)議的不同,在完成負(fù)載均衡運(yùn)算后處理方式存在一些差異,如果業(yè)務(wù)是基于TCP 流連接模式,則將負(fù)載最輕的業(yè)務(wù)處理機(jī)代號(hào)返回給客戶端,使客戶端進(jìn)行二次連接,繼續(xù)與對(duì)應(yīng)代號(hào)的業(yè)務(wù)服務(wù)器完成業(yè)務(wù);如果服務(wù)是基于無連接的UDP 協(xié)議,則可直接通過調(diào)度服務(wù)器將服務(wù)請(qǐng)求轉(zhuǎn)發(fā)至負(fù)載最輕的業(yè)務(wù)處理機(jī),完成業(yè)務(wù)處理3。 Fig2 Process of service request in Load Balancing System圖2 負(fù)載均衡系統(tǒng)中服務(wù)請(qǐng)求過程圖4.2 系統(tǒng)調(diào)度策略的實(shí)現(xiàn)系統(tǒng)采取了一種效率和安全性更高的做法,通過兩臺(tái)具有同步功能的調(diào)度服務(wù)器記錄集群內(nèi)業(yè)務(wù)服務(wù)器的負(fù)載分布情況。采用兩臺(tái)調(diào)度服務(wù)器的做法一方面可以分擔(dān)調(diào)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西職業(yè)技術(shù)學(xué)院《空氣微生物》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西藝術(shù)職業(yè)學(xué)院《語(yǔ)文教學(xué)理論與實(shí)踐(2)》2023-2024學(xué)年第一學(xué)期期末試卷
- 購(gòu)買摩托電子合同范例
- 集體修路合同范例
- 深圳房產(chǎn)過戶合同范例
- 陜西藝術(shù)職業(yè)學(xué)院《分布式計(jì)算與云計(jì)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 外賣配送安全合同范例
- 美甲攤位合同范例
- 裝飾線施工方案
- 陜西青年職業(yè)學(xué)院《液壓與氣動(dòng)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年農(nóng)村公寓房屋買賣協(xié)議書參考樣本3篇
- 2024年山東省政府采購(gòu)專家入庫(kù)考試真題(共五套 第一套)
- 五年級(jí)數(shù)學(xué)(小數(shù)乘除法)計(jì)算題專項(xiàng)練習(xí)及答案匯編
- 初中濟(jì)南版生物實(shí)驗(yàn)報(bào)告單
- 北京郵電大學(xué)《自然語(yǔ)言處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年廣西安全員A證考試題及答案
- 2024年全國(guó)《考評(píng)員》專業(yè)技能鑒定考試題庫(kù)與答案
- 《網(wǎng)絡(luò)系統(tǒng)管理與維護(hù)》期末考試題庫(kù)及答案
- 人教版數(shù)學(xué)六年級(jí)上冊(cè)期末考試試卷
- 警務(wù)指揮與戰(zhàn)術(shù)學(xué)總論學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 繪本小狐貍賣空氣
評(píng)論
0/150
提交評(píng)論