




已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
摘要 q 慨r 5 5 學(xué)科專業(yè):計(jì)算機(jī)應(yīng)用技術(shù) 論文題目: 基于l i n u x 平臺(tái)的服務(wù)器集群的架構(gòu)和實(shí)現(xiàn)性研究 碩士研究生:呂其元 導(dǎo)師:劉乃琦教授 鼉 硼務(wù)器集群是一組用高性能網(wǎng)絡(luò)連接起來的獨(dú)立的服務(wù)器的集合。它們能夠 協(xié)同工作,共同處理i n t e r n e t 上日益增長的客戶請(qǐng)求。它具有良好的可獲用 性,可伸縮性以及優(yōu)秀的性能價(jià)格比是當(dāng)前服務(wù)器技術(shù)的熱點(diǎn)。) 本文闡述了目 前服務(wù)器技術(shù)的發(fā)展方向、服務(wù)器集群的背景。最先介紹了采用文檔遷移方法實(shí) 現(xiàn)的應(yīng)用層服務(wù)器集群。然后對(duì)l 1 n u x 的中心式集群一l 1 n u x v 1 r m 、l 移蓼 s e v e r 和分布式集群- - d p r 技術(shù)作了深入分析。最后在實(shí)驗(yàn)室測試評(píng)估的過程5 哥 中,作者提出了服務(wù)器集群新方案。 關(guān)鍵字:服務(wù)器集群可獲得性可伸縮性負(fù)載平衡文檔遷移虛擬服務(wù)器 分布式集群網(wǎng)絡(luò)地址轉(zhuǎn)換i p 封裝直接路由 a b s t r a c t s u b j e c ta n ds p e c i a l t y :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y t i t l e : r e s e a r c ho f a r c h i t e c t u r ea n di m p l e m e n t a t i o no f t h e s e r v e rc l u s t e rb a s e do nl i n u xp l a t f o r m m a s t e rc a n d i d a t e :l v q i y u a n t u t o r:p r o f l i un a i q i s e r v e rc l u s t e ri sas e to f a u t o n o m o u ss e r v e r sc o n n e c t e d b yh i g hp e r f o r m a n c e n e t w o r k s ,w h i c hc a nw o r kc o - o p e r a t i v e l yt op r o c e s st h em o r ea n dm o r er e q u e s tf r o m c l i e n tw j t ht h ee x p l o s i v ei n c r e m e n to f i n t e r n e td u et oi t sh i g ha v a i l a b i l i t y , h i g h s c a l a b i l i t ya n d e x c e l l e n tp e r f o r m a n c e - p r i c er a t i o ,s e r v e rc l u s t e rh a sb e c a m eah o t p o i n to f m o d e m s e r v e rt e c h n o l o g y 1 1 1 i sp a p e rf o r m u l a t e dt h ed e v e l o p m e n td i r e e t i o n o f s e r v e r t e c h n o l o g ya n d t h e b a c k g r o u n do f s e r v e rc l u s t e r i t i n t r o d u c e d a n p r o t o t y p e o f c l u s t e ri m p l e m e n t e do n a p p l i c a t i o nl a y e rb y m e a n so f d o c u m e n tm i g r a t i o n ,a n d a n a l y z e dt h ec e n t r a l i z e dc l u s t e r - l v sa n dt h ed i s t r i b u t e dc l u s t e r - d p ro f l i n u x p l a t f o r m d u r i n gp e r f o r m a n c e t e s to f l v sv i an a t , t h ea u t h o rp r o p o s e dn e ws o l u t i o n f o rs e r v e rc l u s t e l k e y w o r d : s e r v e rc l u s t e r a v a i l a b i l i t ys c a l a b i l i t y l o a db a l a n c i n g d o c u m e n t m i g r a t i o n v i r t u a ls e r v e rd i s t r i b u t e ds e r v e rc l u s t e r n e t w o r ka d d r e s st r a n s l a t i o ni pe n c a p s u l a t i o nd i r e c t r o u t i n g 碩i 研究生牛業(yè)論文 緒論 我們知道,i n t e 鼢姬t 的前身a r p a n e t 誕生時(shí)網(wǎng)絡(luò)的規(guī)模很小。在8 0 年 代初,隨著t c p i p 標(biāo)準(zhǔn)開始被廣泛應(yīng)用,網(wǎng)絡(luò)技術(shù)日趨完善。網(wǎng)絡(luò)規(guī)模的迅速 擴(kuò)大。今天i n t e r n e t 曼延及全世界,成了人類世界的信息基礎(chǔ)設(shè)施,它正以 前所未有的深度和廣度影響人們的生活。在這個(gè)應(yīng)用需求的作用下,作為網(wǎng)絡(luò)靈 魂的服務(wù)器引起了人們特別的關(guān)注。服務(wù)器的高可靠性、高性能、高吞吐能力、 強(qiáng)大的存儲(chǔ)能力、強(qiáng)大的網(wǎng)絡(luò)功能和友好的人機(jī)界面是擺在i t 業(yè)者面前的挑戰(zhàn)。 近幾年來,計(jì)算機(jī)網(wǎng)絡(luò)在技術(shù)上飛速發(fā)展,使得通過高速網(wǎng)絡(luò)連接的計(jì)算機(jī) 進(jìn)行協(xié)同工作成為可能。集群( c l u s t e r ) 技術(shù)是近幾年興起的發(fā)展高性能計(jì)算機(jī) 的一項(xiàng)技術(shù)。它將一組相互獨(dú)立的計(jì)算機(jī),由一網(wǎng)絡(luò)互聯(lián),組成一個(gè)單一的計(jì)算 機(jī)系統(tǒng)。作為目前計(jì)算機(jī)學(xué)科技術(shù)一熱點(diǎn)之一,國內(nèi)外的廠商推出了很多的產(chǎn)品。 如清華同方的探索1 0 8 ,還有2 0 0 0 年9 月1 日在上海推出的峰值速度為每秒3 0 0 0 億次浮點(diǎn)數(shù)操作的集群式高性能計(jì)算機(jī)系統(tǒng)“自強(qiáng)2 0 0 0 - - s u h p c s ”。集群系統(tǒng)最 顯著的特點(diǎn)是它具有良好的可獲用性( a v a i l a b i l i t y ) ,可伸縮性( s c a l a b i l i t y ) 及優(yōu)秀的性能價(jià)格比。目前對(duì)集群技術(shù)需求最迫切,發(fā)展也最快的領(lǐng)域主要是 w e b 應(yīng)用、科學(xué)計(jì)算、數(shù)據(jù)庫應(yīng)用。 本文是作者緊密追蹤最新服務(wù)器集群發(fā)展情況,閱讀了大量的國內(nèi)外資料 分析總結(jié)了服務(wù)器集群所采用技術(shù)的過程中所撰寫的。 下面簡要地介紹本論文各章的內(nèi)容。 第一章 第二章 第三章 第四章 第五章 介紹了目前應(yīng)用的需求,服務(wù)器技術(shù)的發(fā)展水平和集群系統(tǒng)的 一些基本概念。 介紹了服務(wù)器集群需要解決的問題,并對(duì)一種應(yīng)用層的服務(wù)器 集群進(jìn)行了分析,這種集群通過在不同的服務(wù)器之間進(jìn)行文檔 遷移來實(shí)現(xiàn)。 分析了l i n u x 操作系統(tǒng)的碑層的中心式集群的實(shí)現(xiàn)方案。找 到了這種方案的精華:三種路由方式( 網(wǎng)絡(luò)地址轉(zhuǎn)換,口隧道 和直接路由) 。 分析了l i n u x 操作系統(tǒng)的分布式集群的實(shí)現(xiàn)方案,抓住了這 種方案的核心:集群中每一臺(tái)服務(wù)器都充當(dāng)請(qǐng)求轉(zhuǎn)發(fā)器。 在試驗(yàn)室環(huán)境下對(duì)l i n u x 虛擬服務(wù)器l v s 的n a t 方案進(jìn)行 坷! l j 研競t 一畢業(yè)論文 第六章 - r 性能的測試。對(duì)它實(shí)現(xiàn)的源代碼肯一定r 解。 在綜合第三章和第四章的成果的前提下,作者提出了新的服務(wù) 器集群解決方案。并在本章提出了下一步研究的可能方向。 碩士研究生畢業(yè)論文 第一章概述和背景 1 1 目前應(yīng)用對(duì)服務(wù)器性能的需求 近年來,信息化浪潮席卷全球,信息技術(shù)正以前所未有的深度和廣度影響人 們的生活。在這個(gè)過程中i n t e r n e t 功不可沒,是它將全球的每一個(gè)角落串連 起來成為一個(gè)小村莊。伴隨i n t e r n e t 發(fā)展的是大大小小的商業(yè)網(wǎng)站如雨后春 筍般層出不窮,也涌現(xiàn)了一大批千萬用戶級(jí)的w e b 站點(diǎn)。在我國,國內(nèi)各企業(yè) 紛紛將建設(shè)企業(yè)網(wǎng)絡(luò)作為一項(xiàng)重點(diǎn)投資項(xiàng)目進(jìn)行規(guī)劃。在這個(gè)大環(huán)境下面,作為 網(wǎng)絡(luò)靈魂的服務(wù)器不得不引起人們的特別關(guān)注。服務(wù)器作為新世紀(jì)的主流計(jì)算產(chǎn) 品,在網(wǎng)絡(luò)環(huán)境下為用戶提供共享資源( 包括查詢、存儲(chǔ)、計(jì)算等) ,在人類對(duì) 信息的依賴越來越嚴(yán)重的背景下,它的高可靠性、高性能、高吞吐能力、大的存 儲(chǔ)能力、強(qiáng)大的網(wǎng)絡(luò)功能和友好的人機(jī)界面將是人們關(guān)注的焦點(diǎn)。 隨著i n t e r n e t 的指數(shù)性增長站點(diǎn)訪問人數(shù)和訪問頻度的不斷增加越來越 多的客戶請(qǐng)求發(fā)送到服務(wù)器,服務(wù)器的負(fù)荷不斷增加,響應(yīng)時(shí)間越來越長。在目 前的情況下如果要等待8 秒以上才能進(jìn)入網(wǎng)站或網(wǎng)頁,那么將有三分之一的用戶 因?yàn)闆]有耐性而一走了之,網(wǎng)絡(luò)延誤等同把客戶拒之門外。據(jù)統(tǒng)計(jì)【1 】,今年全 球因網(wǎng)絡(luò)延誤而損失的網(wǎng)上銷售額達(dá)到4 0 億美元。因此目前網(wǎng)絡(luò)發(fā)展對(duì)服務(wù)器 提出的一個(gè)關(guān)鍵需求就是擁有不斷的升級(jí)能力。 伴隨著客戶對(duì)系統(tǒng)安全性能要求的不斷提高,以及客戶應(yīng)用系統(tǒng)尤其是關(guān)鍵 領(lǐng)域的關(guān)鍵性應(yīng)用對(duì)可靠性要求的不斷增加,越來越多的應(yīng)用要求能夠有7 7 2 4 的不間斷服務(wù)。比如在軍事,證券,銀行等領(lǐng)域。如何建立和維護(hù)真正高可靠性 的系統(tǒng)是擺在i t 業(yè)者前的一個(gè)挑戰(zhàn)。信息系統(tǒng)( i s ) 的主管人員不得不不斷地尋找 可以確保其關(guān)鍵性商務(wù)應(yīng)用穩(wěn)固運(yùn)行的方法。今天,由于計(jì)算機(jī)技術(shù)的飛速發(fā)展, 硬件服務(wù)器平臺(tái)已經(jīng)有了相當(dāng)好的可靠性。據(jù)統(tǒng)計(jì),一個(gè)獨(dú)立系統(tǒng)的可靠性在 9 9 以上,如果配備一些系統(tǒng)管理工具,則系統(tǒng)的可靠性可以達(dá)到9 9 5 9 9 8 。 從表面上看,這樣的可靠性已經(jīng)很好了,對(duì)于一些可靠性要求不高的應(yīng)用系 統(tǒng)來說應(yīng)該能滿足要求了。但是如果一年按3 6 5 天計(jì)算,那么每年仍然有1 8 “小時(shí)的停機(jī)時(shí)間,這對(duì)于那些任何停工都將產(chǎn)生嚴(yán)重的資產(chǎn)損失和名譽(yù)損失 的關(guān)鍵性商務(wù)應(yīng)用來說是不可以接受的。 為了滿足這些可靠性要求極高的關(guān)鍵性應(yīng)用,人們使用專用結(jié)構(gòu)和廣泛冗余 的容錯(cuò)系統(tǒng),通過以比常規(guī)系統(tǒng)昂貴若干倍的代價(jià)將系統(tǒng)的可靠性提高到 9 9 9 9 9 9 以上,也就是平均每年的停機(jī)時(shí)間降到半分鐘! 這種解決方案力求做到 將故障發(fā)生的可能性降至最小,以致幾乎不可能發(fā)生。雖然它的可靠性的確很高, 碩士研究生畢業(yè)論文 但花費(fèi)的代價(jià)也很高。 人們在提高可靠性的過程中,除了了解到可靠性的提高是有代價(jià)的,可靠性 越高,所需付出的代價(jià)就越大以外,還發(fā)現(xiàn)了一個(gè)重要的現(xiàn)象,那就是當(dāng)系統(tǒng)的 可靠性達(dá)到9 99 5 9 9 9 9 時(shí),故障的主要來源不再是硬件,而是環(huán)境和軟件。 關(guān)鍵應(yīng)用系統(tǒng)首先要求計(jì)算機(jī)的性能不斷擴(kuò)展,然后是對(duì)系統(tǒng)的可靠性要求不斷 提高。 早期能夠滿足人們上述需求的系統(tǒng)主要是超級(jí)計(jì)算機(jī)和大型機(jī),但是隨著 w e b 應(yīng)用、d s s 、o l t p 應(yīng)用的發(fā)展和普及,人們很快又希望系統(tǒng)具有良好的可 擴(kuò)展性和高的性能價(jià)格比。在這樣的大環(huán)境下面,服務(wù)器集群技術(shù)便應(yīng)運(yùn)而生。 集群( c l u s t e r ) 技術(shù)是近幾年興起的發(fā)展高性能計(jì)算機(jī)的一項(xiàng)技術(shù)。集群技 術(shù)是一組相互獨(dú)立的計(jì)算機(jī),由網(wǎng)絡(luò)互聯(lián),組成一個(gè)單一的計(jì)算機(jī)系統(tǒng),并以單 一系統(tǒng)的模式加以管理。此單一系統(tǒng)為客戶工作站提供高可用性的服務(wù)。在大多 數(shù)模式下,集群中所有的計(jì)算機(jī)擁有一個(gè)共同的名稱,集群內(nèi)的任一系統(tǒng)上運(yùn)行 的服務(wù)都可被所有的網(wǎng)絡(luò)客戶所使用。 它使用特定的連接方式,將比超級(jí)計(jì)算機(jī)便宜許多的硬件設(shè)備結(jié)合起來,提 供與超級(jí)計(jì)算機(jī)性能相當(dāng)?shù)娜蝿?wù)處理能力。目前最為流行的方式是用高速網(wǎng)絡(luò)傳 輸設(shè)備將幾臺(tái)服務(wù)器相連,實(shí)現(xiàn)并行處理,屏蔽單點(diǎn)失效。而目前對(duì)集群技術(shù)需 求最迫切,發(fā)展也最快的領(lǐng)域主要是w e b 應(yīng)用、科學(xué)計(jì)算、數(shù)據(jù)庫應(yīng)用。 另一個(gè)方面,集群技術(shù)也是一個(gè)發(fā)展高性能計(jì)算機(jī)的強(qiáng)有力的手段。目前世 界各國都不再盲目追求高的峰值運(yùn)算速度,而強(qiáng)調(diào)更好地利用高性能計(jì)算機(jī),發(fā) 揮高性能計(jì)算的潛能。利用集群技術(shù)實(shí)現(xiàn)高性能計(jì)算機(jī)正是適應(yīng)了這一需求,其 優(yōu)勢是可以利用普通的p c 、工作站、服務(wù)器作為節(jié)點(diǎn),系統(tǒng)造價(jià)低;可以實(shí)現(xiàn) 很高的運(yùn)算速度,完成大運(yùn)算量的計(jì)算;具有良好的運(yùn)行環(huán)境、程序開發(fā)環(huán)境, 便于用戶科學(xué)地開發(fā)并行應(yīng)用程序。 1 2 目前服務(wù)器發(fā)展的情況 計(jì)算機(jī)技術(shù)的出現(xiàn)對(duì)現(xiàn)代科技與世界經(jīng)濟(jì)的發(fā)展以及人們的生活都產(chǎn)生了 巨大的影響,其發(fā)展之迅猛是其它技術(shù)學(xué)科所不能比擬的。 就服務(wù)器而言,目前國際上服務(wù)器技術(shù)領(lǐng)域正發(fā)生著劇烈的變化。 隨著技術(shù)的進(jìn)步,服務(wù)器架構(gòu)經(jīng)歷著巨大的變化,通常我們可以根據(jù)這一點(diǎn) 將它們劃分為以下幾類 大型主機(jī)( m a i n f r a m e ) 這類機(jī)器以i b m 的產(chǎn)品為代表。如i b ms 3 9 0 ,這類主機(jī)的特點(diǎn)是單 臺(tái)機(jī)器處理能力極強(qiáng),但是它采用專用的設(shè)計(jì)和架構(gòu),價(jià)格昂貴,可 擴(kuò)展性差。無法作到平滑地升級(jí)和擴(kuò)展。 4 硯十研究生畢業(yè)論文 對(duì)稱多處理機(jī)( s m ) 代表機(jī)器有s u mu l l l r a e 10 0 0 0 ,現(xiàn)在越來越多的操作系統(tǒng)支持對(duì)稱 多處理,象w i n d o w sn t 可以支持多達(dá)3 2 個(gè)處理器。時(shí)下風(fēng)流正行的 l i n u x 也不乏對(duì)對(duì)稱多處理的支持。對(duì)稱多處理的計(jì)算能力不容小視。 根據(jù)對(duì)稱多處理的特點(diǎn),它比較適合中小規(guī)模的信息處理系統(tǒng)。由于 受到其體系結(jié)構(gòu)的限制,其擴(kuò)展性較小,單臺(tái)的對(duì)稱多處理機(jī)無法滿 足日益增長的信息服務(wù)處理需求。 大規(guī)模并行機(jī)( m p p ) 代表機(jī)器有i b ms p 2 ,這種機(jī)器擁有強(qiáng)大的計(jì)算能力和通信能力。缺 點(diǎn)是價(jià)格不菲性能價(jià)格比不好。 集群系統(tǒng)( c l u s t e r ) 集群系統(tǒng)是當(dāng)前構(gòu)造高性能計(jì)算機(jī)的一個(gè)熱點(diǎn),國內(nèi)外的廠商推出了 很多的產(chǎn)品,如清華同方的探索1 0 8 。還有2 0 0 0 年9 月1 日在上海 推出的峰值速度為每秒3 0 0 0 億次浮點(diǎn)數(shù)操作的集群式高性能計(jì)算機(jī) 系統(tǒng)“自強(qiáng)2 0 0 0 - s u h p c s ”。它將多臺(tái)獨(dú)立的計(jì)算機(jī)通過網(wǎng)絡(luò)連接起來, 組成一個(gè)單一點(diǎn)工作節(jié)點(diǎn),提供高性能的信息處理能力。最顯著的特 點(diǎn)是它具有良好的擴(kuò)展性和可用性,可以極大的減少整個(gè)系統(tǒng)的關(guān)機(jī) 時(shí)間,提供7 x 2 4 的不間斷服務(wù)。另外它還具有平滑的升級(jí)能力和優(yōu)秀 的性能價(jià)格比。 與服務(wù)器采用的架構(gòu)同步的是,服務(wù)器的模式也經(jīng)歷著巨大的變化。 傳統(tǒng)的終端主機(jī)模式 在這種模式下面,終端只是完成顯示,功能極其簡單,無須專門的維 護(hù),維護(hù)與管理在主機(jī)一端實(shí)現(xiàn)。它的缺點(diǎn)是主機(jī)價(jià)格昂貴,終端沒 有任何的處理能力。 客戶機(jī)服務(wù)器模式 這種模式對(duì)計(jì)算產(chǎn)業(yè)的標(biāo)準(zhǔn)化和開發(fā)化有過極大的推動(dòng)作用,它得益 于分布式的網(wǎng)絡(luò)計(jì)算模型,這種計(jì)算模型為客戶機(jī)服務(wù)器模式提供了 巨大的靈活性。但是,隨著網(wǎng)絡(luò)規(guī)模和信息處理強(qiáng)度的急劇擴(kuò)大,整 個(gè)系統(tǒng)的維護(hù)和管理越來越困難,開銷巨大。 服務(wù)器集群系統(tǒng) 在集群系統(tǒng)中,服務(wù)器不再分布在各處,而是集中起來進(jìn)行統(tǒng)一的管 理和維護(hù)。它保持了客戶機(jī)服務(wù)器模式下的可開發(fā)性,可擴(kuò)展性的優(yōu) 點(diǎn),同時(shí)又具有終端主機(jī)模式下的資源共享和集中,很方便管理。 1 3 集群( c l u s t e r ) 概念 1 3 1 什么是集群 碩士研究生畢業(yè)論文 集群是用高性能網(wǎng)絡(luò)或者l a n 進(jìn)行物理連接的計(jì)算機(jī)的集合。集合里的計(jì)算 機(jī)又叫作節(jié)點(diǎn)( n o d e s ) ,它們是一些完整的獨(dú)立的計(jì)算機(jī)系統(tǒng)。c l u s t e r 中的節(jié) 點(diǎn)可以是服務(wù)器,也可以是工作站,可以是p c ,也可以是大型機(jī)甚至是m p p s ( m a s s i v e l yp a r a l l e lp r o c e s s o r s ) 。集群中的各個(gè)節(jié)點(diǎn)在保持本身計(jì)算機(jī)系統(tǒng) 完備性的同時(shí),還應(yīng)該具有另一個(gè)更為重要的特征,即各個(gè)節(jié)點(diǎn)必須能夠在一起 協(xié)同工作,形成一個(gè)單一的,集成的系統(tǒng)資源。 3 編程環(huán)境和應(yīng)用程序 i l 可獲用性和單一系統(tǒng)映象基礎(chǔ)設(shè)施 豳豳隘t 商用或?qū)S没ヂ?lián) 圖1 1 集群系統(tǒng)的典型體系結(jié)構(gòu) 從圖1 1 中可以看出集群系統(tǒng)體系結(jié)構(gòu)的特點(diǎn) c l u s t e r 節(jié)點(diǎn):每一個(gè)節(jié)點(diǎn)是一個(gè)完整的計(jì)算機(jī)。這隱含著完備的計(jì)算 機(jī)系統(tǒng),以及相應(yīng)完備的外圍設(shè)備。此外,在每一個(gè)節(jié)點(diǎn)上都駐留著一個(gè) 完整的,標(biāo)準(zhǔn)的操作系統(tǒng)。每一個(gè)節(jié)點(diǎn)上允許有一個(gè)或者多個(gè)處理器。 但是他們只能有一個(gè)操作系統(tǒng)的映像。 s i n g l e s y s t e mi m a g e 整個(gè)集群是一個(gè)單一的計(jì)算處理資源,在這一點(diǎn)上集群系統(tǒng)和分布式系 統(tǒng)有區(qū)別。集群系統(tǒng)是通過s s i ( s i n g l es y s t e mi m a g e ) 技術(shù)來實(shí)現(xiàn)單 一資源的特征。s s i 技術(shù)實(shí)現(xiàn)了集群的有效管理和簡單使用。盡管到現(xiàn) 在為止,大多數(shù)的集群產(chǎn)品還不能提供完整的s s i 服務(wù),但s s i 卻是集 群的重要特征。 節(jié)點(diǎn)之間的互聯(lián) 每一個(gè)節(jié)點(diǎn)是用性能盡可能高的網(wǎng)絡(luò)來連接,如e t h e r n e t ,f d d i 和a t m 交換網(wǎng)等。當(dāng)使用不同的網(wǎng)絡(luò)連接時(shí),必須提供標(biāo)準(zhǔn)的協(xié)議來實(shí)現(xiàn)節(jié)點(diǎn) 之間的平滑通信。 6 碩士研究生畢業(yè)論文 增強(qiáng)的可獲得性( a v a i l a b i l i t y ) 可獲得性表示系統(tǒng)對(duì)用戶應(yīng)用可使用的時(shí)間的百分比。集群技術(shù)提供了 有效的、花費(fèi)更低的解決方案。 更好的性能 集群系統(tǒng)可以在很多的服務(wù)領(lǐng)域提供更好的性能。例如,一個(gè)集群系統(tǒng) 可以作為一個(gè)超級(jí)w e b 服務(wù)器,或者一個(gè)超級(jí)的數(shù)據(jù)庫服務(wù)器。如果集 群中的每一個(gè)節(jié)點(diǎn)可以支持n 個(gè)客戶,那么有m 個(gè)節(jié)點(diǎn)的集群系統(tǒng)就可 以支持m * n 個(gè)客戶。另外,集群技術(shù)在并行處理領(lǐng)域,還可以縮短單個(gè) 任務(wù)的執(zhí)行時(shí)間。 更好的靈活性和可伸縮性 集群系統(tǒng)可以根據(jù)實(shí)際情況靈活地改變整個(gè)系統(tǒng)的配置,如增加或者減 少節(jié)點(diǎn)等。這種平滑的可伸縮性不僅表現(xiàn)在系統(tǒng)規(guī)模的可伸縮,還表現(xiàn) 在技術(shù),服務(wù)的可伸縮。 n o w ( n e t w o r ko fw o r k s t a t i o n s ) 構(gòu)成的集群系統(tǒng)已經(jīng)成為科學(xué)和工程計(jì)算、 企業(yè)日常事務(wù)處理、i n t e r n e t 信息處理的主要基礎(chǔ),近年來,由于網(wǎng)絡(luò)技術(shù)和 工作站技術(shù)的迅猛發(fā)展,n o w 以其更好的性能價(jià)格比受到人們的青睞,并大有取 代大型機(jī)甚至巨型機(jī)的趨勢。 1 3 2 集群的優(yōu)點(diǎn) 集群概念的提出帶來了許多的優(yōu)點(diǎn),同時(shí)也帶來了許多的挑戰(zhàn)。其最主要的 優(yōu)點(diǎn)是可易用性,可獲得性,可伸縮性和良好的性能價(jià)格比。 可易用性:因?yàn)榧旱膯蝹€(gè)節(jié)點(diǎn)仍舊是傳統(tǒng)的平臺(tái),所以用戶可以在他們平 時(shí)就很熟悉的環(huán)境下面開發(fā)和運(yùn)行應(yīng)用程序。同時(shí)這也可以讓現(xiàn)有的許多程序可 以不加修改的運(yùn)行在處理能力強(qiáng)大的集群平臺(tái)上。非常有利于保護(hù)用戶已有的軟 件投資。 可獲得性:可獲得性包括可靠性和好的可用性等。在傳統(tǒng)的系統(tǒng)中,如大型 機(jī)和容錯(cuò)系統(tǒng),通常是以高費(fèi)用為代價(jià)來提供可獲得性。相反,在集群系統(tǒng)中, 卻是用低費(fèi)用的組件來提供較高的可獲得性。集群系統(tǒng)可獲得性的實(shí)現(xiàn),其關(guān)鍵 技術(shù)是開發(fā)共享組件可獲得的軟件。 可伸縮性:一個(gè)集群系統(tǒng)的處理能力可以簡單地通過增加節(jié)點(diǎn)來加強(qiáng)。同時(shí), 集群的可伸縮性是多面的。包括資源的可伸縮性、應(yīng)用的可伸縮性、和技術(shù)的可 伸縮性等。s m p 提供了處理器的可伸縮性,在集群系統(tǒng)中的可伸縮性可以是計(jì) 算機(jī)的各個(gè)組件,如處理器、硬盤、內(nèi)存或者i o 設(shè)備以及軟件組件等。 良好的性能價(jià)格比:集群系統(tǒng)良好的性能價(jià)格比是它受到人們青睞的重要因 素。它可以把一些廉價(jià)系統(tǒng)組合在一起協(xié)同地工作,在總體上的性能卻可以超過 大型機(jī)甚至巨型機(jī)。美國亞特蘭大的e m o r y 大學(xué)、c e s d i s 哥德航天飛行中心 7 碩士研究生畢業(yè)論文 和加利福尼亞技術(shù)學(xué)院的科學(xué)技術(shù)人員、研究人員和實(shí)驗(yàn)室工作人員一起在1 9 9 7 年f 2 】建立了1 6 個(gè)節(jié)點(diǎn)的p 3 2 0 0 微機(jī)集群b e o w u l f 系統(tǒng),只用5 萬美元而使系 統(tǒng)達(dá)到每秒1 0 億次浮點(diǎn)運(yùn)算的能力。使用大眾化的p c 通過l a n 互聯(lián)而達(dá)到超 級(jí)計(jì)算機(jī)的功能和能力。 同時(shí),集群技術(shù)可以保護(hù)用戶在原有設(shè)備上的硬件投資,用戶可以將新舊設(shè) 備組合起來成為一個(gè)集群,達(dá)到提供更高的性能的目的。 1 4 可伸縮技術(shù)的概念 可伸縮技術(shù)是集群技術(shù)的一個(gè)重要的技術(shù)特征。同時(shí),可伸縮技術(shù)又是一種 內(nèi)容十分豐富的技術(shù),下面從多個(gè)方面對(duì)它進(jìn)行論述: 1 4 1 資源的可伸縮性 資源的可伸縮性是指通過增加c p u 數(shù)量或者進(jìn)行更多的硬件投資來獲得更 高的系統(tǒng)性能和改善軟件的效率。 系統(tǒng)大小的伸縮:加大一個(gè)計(jì)算機(jī)系統(tǒng)或者一個(gè)集群系統(tǒng)的最簡單的辦法是 增加節(jié)點(diǎn)數(shù)目或者節(jié)點(diǎn)內(nèi)處理器的數(shù)目。系統(tǒng)大小伸縮并不是僅僅簡單的增加一 臺(tái)機(jī)器或者減少一臺(tái)機(jī)器,它往往受到集群系統(tǒng)設(shè)計(jì)和節(jié)點(diǎn)互聯(lián)方案的制約。 系統(tǒng)資源的伸縮:允許增加集群系統(tǒng)內(nèi)接點(diǎn)的資源,如c a c h e 、內(nèi)存、或者 硬盤空間的大小,并以此來提高系統(tǒng)的性能和增加吞吐量。 系統(tǒng)軟件的伸縮:可伸縮系統(tǒng)的軟件可以從下面三個(gè)方面進(jìn)行改進(jìn) 應(yīng)使用最新版本的操作系統(tǒng)來提供更多的功能,比如多用戶,多進(jìn) 程,多線程支持、更大的用戶空間支持和效率更高的內(nèi)核。 使用優(yōu)化的編譯器。 使用效率更高的數(shù)學(xué)和工程庫。 1 4 2 應(yīng)用的可伸縮性 為了能夠充分利用可伸縮系統(tǒng)的能力,基于c l u s t e r 的應(yīng)用程序應(yīng)該是可伸 縮的。這樣的應(yīng)用程序才能在規(guī)模不斷擴(kuò)大的集群系統(tǒng)上有更好的性能。衡量應(yīng) 用程序的可伸縮性的兩個(gè)標(biāo)準(zhǔn)是節(jié)點(diǎn)數(shù)量的可伸縮和面向問題規(guī)模的可伸縮。 節(jié)點(diǎn)數(shù)量的可伸縮:它表明在系統(tǒng)節(jié)點(diǎn)數(shù)量不斷增加的情況下,系統(tǒng)性能有 多大的改善。 問題規(guī)模的可伸縮性:它表明在系統(tǒng)有更大的數(shù)據(jù)處理量和負(fù)載時(shí)性能的表 現(xiàn)如何。 碩:| = 研究生畢業(yè)論文 1 4 3 技術(shù)的可伸縮性 技術(shù)的可伸縮性使得一個(gè)可伸縮的系統(tǒng)能夠適應(yīng)技術(shù)的改變。具體而言,它 可以分為三類:版本的可伸縮性,空間的可伸縮性和異構(gòu)性可伸縮性。 版本的可伸縮:一個(gè)系統(tǒng)可以用更新的組件進(jìn)行規(guī)模的擴(kuò)展,如更快的處理 器,更快的內(nèi)存,更新的操作系統(tǒng)和性能更優(yōu)的編譯器等。并且,當(dāng)系統(tǒng)變遷到 新的版本后,它的計(jì)算處理能力應(yīng)該相應(yīng)的提高。此外,在系統(tǒng)中未作更新的部 分應(yīng)該做到盡可能少的改變,這樣可以在對(duì)集群中的一個(gè)組件進(jìn)行升級(jí)時(shí)可以盡 量不要求整體的改變。對(duì)過去的并行計(jì)算機(jī)來說,這一點(diǎn)做得很不夠,造成用戶 在對(duì)系統(tǒng)的更新后不得不重新開發(fā)新的用戶應(yīng)用程序。 空間的可伸縮性:空間的可伸縮性在最初是指在多處理系統(tǒng)中,可擴(kuò)充的處 理器空間。對(duì)網(wǎng)絡(luò)而言,它天然具有無限的空間可伸縮性。 異構(gòu)可伸縮性:它使得系統(tǒng)可以通過集成不同的軟件和硬件組件來擴(kuò)充系 統(tǒng),它也被稱為標(biāo)準(zhǔn)的,開放的體系結(jié)構(gòu)和接口。 1 5 可伸縮性的設(shè)計(jì)原則 設(shè)計(jì)一個(gè)可伸縮的集群系統(tǒng)是一個(gè)復(fù)雜過程,通常在設(shè)計(jì)的過程中應(yīng)該考慮 下面4 個(gè)原則:獨(dú)立原則,平衡原則,可伸縮原則和延遲隱藏的原則。 1 5 1 獨(dú)立的設(shè)計(jì)原則 這個(gè)原則要求在集群系統(tǒng)的設(shè)計(jì)中,保持各個(gè)組件間的獨(dú)立性。即使不能夠 做到完全的獨(dú)立,也應(yīng)該在設(shè)計(jì)的時(shí)候盡量的減少各個(gè)組件之間的依賴,這里的 組件是指在集群系統(tǒng)內(nèi)所有的軟硬件構(gòu)成部分。 獨(dú)立的原則為可伸縮性帶來一個(gè)很明顯的好處:我們可以通過改善獨(dú)立于 其他組件的部分來擴(kuò)充整個(gè)系統(tǒng),而不用考慮和升級(jí)系統(tǒng)內(nèi)的其他組件。比如當(dāng) 用戶想增加系統(tǒng)的節(jié)點(diǎn)數(shù),他并不需要考慮升級(jí)操作系統(tǒng),編程環(huán)境和應(yīng)用程序。 當(dāng)對(duì)處理器進(jìn)行升級(jí)時(shí),同樣可以不用升級(jí)其他組件而提高系統(tǒng)的性能。這 也是異構(gòu)性給系統(tǒng)帶來的好處。這是因?yàn)榻M件并沒有綁定在一個(gè)特殊的體系結(jié)構(gòu) 上面,從而賦予了這個(gè)組件可以內(nèi)置于許多系統(tǒng)的能力,這樣,可以極大地減少 系統(tǒng)的開支。 對(duì)可伸縮集群系統(tǒng)的應(yīng)用程序的設(shè)計(jì),應(yīng)該有以下的一些原則: 奪應(yīng)用程序的算法應(yīng)該獨(dú)立于體系結(jié)構(gòu)和平臺(tái)。 奪編程語言應(yīng)該是獨(dú)立于機(jī)器的。 奪集群中的節(jié)點(diǎn)應(yīng)該是獨(dú)立于網(wǎng)絡(luò)的,網(wǎng)絡(luò)的接口應(yīng)該獨(dú)立于網(wǎng)絡(luò)的拓?fù)?9 碩士研究生畢業(yè)論文 結(jié)構(gòu)。 實(shí)現(xiàn)獨(dú)立的設(shè)計(jì)原則有兩個(gè)通用的技術(shù),體系結(jié)構(gòu)與實(shí)現(xiàn)相分離,使用標(biāo)準(zhǔn) 的組件。 1 5 2 平衡的設(shè)計(jì)原則 在一個(gè)系統(tǒng)中,多數(shù)的組件是較新的和較快的組件,但有的組件卻可能很慢, 這個(gè)組件就成為整個(gè)系統(tǒng)的瓶頸。平衡的設(shè)計(jì)原則就是盡可能的減少在瓶頸環(huán)節(jié) 的性能約束。此外,平衡設(shè)計(jì)還應(yīng)該能夠避免在單一的組件處的失效導(dǎo)致整個(gè)系 統(tǒng)的崩潰。 1 5 3 可伸縮的設(shè)計(jì)原則 它表明在設(shè)計(jì)可伸縮系統(tǒng)的時(shí)候,可伸縮的設(shè)計(jì)從一開始就應(yīng)該是一個(gè)主要 的目標(biāo),它允許系統(tǒng)在要求高性能的時(shí)候可以擴(kuò)大規(guī)模,同時(shí)也可以縮小規(guī)模以 滿足用戶在系統(tǒng)花費(fèi)上的預(yù)算要求,可伸縮設(shè)計(jì)的兩個(gè)常用的方法是超前設(shè)計(jì)和 向后兼容。 奪超前設(shè)計(jì): 使用超前設(shè)計(jì)技術(shù),一個(gè)系統(tǒng)的設(shè)計(jì)不僅要滿足當(dāng)前的處理需求,它還 要包括一些將來進(jìn)行系統(tǒng)擴(kuò)展時(shí)的附加特性的設(shè)計(jì)。雖然這些特性對(duì)當(dāng) 前是一種多余,但對(duì)系統(tǒng)將來的升級(jí)和性能改善打下了堅(jiān)實(shí)的基礎(chǔ)。 奪向后的兼容設(shè)計(jì): 超前設(shè)計(jì)是為了滿足系統(tǒng)未來的技術(shù)和特性要求而進(jìn)行的。與之互補(bǔ)的 一種技術(shù)是向后兼容的設(shè)計(jì)原則。它要求在進(jìn)行系統(tǒng)的軟件硬件設(shè)計(jì) 時(shí),必須考慮到系統(tǒng)降級(jí)的情況。用于升級(jí)的組件也應(yīng)該可以用在降級(jí) 的系統(tǒng)中。 1 5 4 延遲隱藏的設(shè)計(jì)原則 在一般的集群系統(tǒng)中,一個(gè)遠(yuǎn)程的資源請(qǐng)求操作可能會(huì)有一個(gè)較長的處理延 遲,在一些特定的場合中,必須對(duì)這種延遲進(jìn)行處理。延遲隱藏的技術(shù)是將延遲 隱藏在整個(gè)處理中。 1 0 碩:研究生畢業(yè)論文 第二章應(yīng)用層服務(wù)器集群分析 在本章和隨后的幾章將介紹目前服務(wù)器集群的發(fā)展情況并分析它們所采用 的技術(shù)。這是作者查閱了大量零星的國內(nèi)外資料,從中分析總結(jié)的結(jié)果。對(duì)作者 來說,在這個(gè)過程中,不僅對(duì)集群技術(shù)有了深刻理解,還通過比較分析,在第六 章提出了新的服務(wù)器集群的解決方案。對(duì)讀者來說,也可以對(duì)目前的服務(wù)器集群 技術(shù)有一個(gè)比較深入的了解。 本章將要介紹的是一種在應(yīng)用層實(shí)現(xiàn)的集群技術(shù),之所以在最初就介紹這種 技術(shù),是為了給第三章將要介紹的中心式口層技術(shù),第四章介紹的分布式1 p 層 技術(shù)作一個(gè)比較的基礎(chǔ)。這種安排可能會(huì)和這些技術(shù)的提出時(shí)間產(chǎn)生交叉。 2 1 服務(wù)器集群的總體方案討論 集群不是多臺(tái)計(jì)算機(jī)的簡單集合。所有結(jié)點(diǎn)協(xié)調(diào)一致地工作,向用戶提供單 一的、集成的服務(wù)。為了實(shí)現(xiàn)這一點(diǎn),服務(wù)器集群系統(tǒng)需要解決兩個(gè)方面的問題。 第一:客戶端發(fā)來的服務(wù)請(qǐng)求如何轉(zhuǎn)發(fā)到集群內(nèi)的真實(shí)機(jī)器上面。 第二:整個(gè)系統(tǒng)采用的任務(wù)調(diào)度算法,決定下一個(gè)服務(wù)請(qǐng)求交給集群中的哪 一臺(tái)服務(wù)器處理。 我們分析一下目前網(wǎng)絡(luò)服務(wù)的最主要的模式就可以發(fā)現(xiàn):在網(wǎng)絡(luò)服務(wù)中,一 端是客戶程序,用戶在客戶端根據(jù)自己的不同需要發(fā)出請(qǐng)求。另一端是服務(wù)程序, 服務(wù)器端是服務(wù)提供者精心設(shè)計(jì)的一個(gè)應(yīng)用程序,它對(duì)客戶端發(fā)來的各種請(qǐng)求作 出相應(yīng)的響應(yīng)。在請(qǐng)求和響應(yīng)的傳輸過程中,中間還有可能要經(jīng)過各式各樣的代 理程序,代理程序通常完成一個(gè)轉(zhuǎn)發(fā)過程。它將客戶的請(qǐng)求發(fā)到服務(wù)器端,將服 務(wù)器端返回的響應(yīng)送到客戶端,當(dāng)然代理還可以完成一些其他的功能,比如緩存、 安全等。 根據(jù)這個(gè)線索,可以找到解決上面第一個(gè)問題的出發(fā)點(diǎn):我們可以在不同的 層次上實(shí)現(xiàn)多臺(tái)服務(wù)器的負(fù)載均衡。在服務(wù)器集群中解決網(wǎng)絡(luò)任務(wù)分配問題的主 要方法可以分為下面幾類: 基于客戶端的方法 根據(jù)服務(wù)器的負(fù)載情況,用戶在客戶端作出服務(wù)請(qǐng)求發(fā)送給集群中哪一臺(tái)服 務(wù)器的判斷。采用這種方法的典型的代表是b e r k e l e y 的s m a r tc l i e n t 。通常,客 戶端的a p p l e t 向一組服務(wù)器查詢負(fù)載情況,選出負(fù)載晟輕的服務(wù)器,再向該服 務(wù)器發(fā)服務(wù)請(qǐng)求;當(dāng)服務(wù)器失效時(shí)。a p p l e t 將嘗試其他服務(wù)器。 碩上研究生畢業(yè)論文 服務(wù)器端的r r d n s 方法 r r d n s 的立足點(diǎn)是利用由域名到i p 地址的解析過程實(shí)現(xiàn)客戶請(qǐng)求的分 配。通??蛻粼谠L問一個(gè)站點(diǎn)時(shí),他使用的是這個(gè)站點(diǎn)的域名,這個(gè)域名要經(jīng)過 d n s 服務(wù)器的解析才能獲得這個(gè)站點(diǎn)的i p 地址。對(duì)一個(gè)大的站點(diǎn)來說,它可以 使用一個(gè)域名,為它的每一臺(tái)服務(wù)器申請(qǐng)一個(gè)i n t e r n e t 全局i p 地址。采用這 種方法的基本思想是:通過r r d n s 服務(wù)器把域名輪流解析到這組w e b 服務(wù)器 的不同p 地址,將負(fù)載分到各臺(tái)服務(wù)器上,從而提高整個(gè)系統(tǒng)的性能。n c s a 的可伸縮的w e b 服務(wù)器系統(tǒng)就是最早基于輪轉(zhuǎn)域名系統(tǒng)r r - d n s ( r o u n d r o b i n d o m a i nn a m e s y s t e m ) 的原型系統(tǒng)。 然而,該方法存在以下問題: 第一,域名服務(wù)系統(tǒng)是按層次結(jié)構(gòu)組織的,各級(jí)域名服務(wù)器都會(huì)緩沖解析結(jié) 果,包括客戶端自己也有一個(gè)緩存。緩存的存在,導(dǎo)致了這些映射不能及時(shí)地反 映整個(gè)站點(diǎn)負(fù)載的最新變化。從而妨礙r o u n d - r o b i n 方法在客戶端生效,而導(dǎo)致 不同w e b 服務(wù)器間嚴(yán)重的負(fù)載不平衡。緩解這個(gè)問題的一個(gè)方法是設(shè)置合理的 域名到妒地址映射的t t l ( t i m e t o l i v e ) 值。這是一個(gè)兩難問題,t t l 設(shè)置太 長,不能及時(shí)地反映域名到i p 的動(dòng)態(tài)變化;t t l 設(shè)置過短,d n s 服務(wù)器的負(fù)載 過大,客戶端解析域名所花費(fèi)的時(shí)間過大。 第二,由于用戶訪問請(qǐng)求的突發(fā)性和訪問方式不同,即使t t l 值為0 ,各服 務(wù)器間的負(fù)載仍存在較嚴(yán)重的負(fù)載不平衡,畢竟靠從域名到口的映射來反映當(dāng) 前各臺(tái)服務(wù)器的負(fù)載情況有些滯后。 第三,系統(tǒng)的可靠性和可維護(hù)性差??紤]下面這種情況:整個(gè)系統(tǒng)數(shù)臺(tái)服務(wù) 器中有些正在正常工作,但有一臺(tái)或者數(shù)臺(tái)服務(wù)器失效,也許是管理員正在對(duì)其 進(jìn)行維護(hù)。此時(shí)從整個(gè)系統(tǒng)的角度看,還能提供正常服務(wù)。但是,如果客戶的域 名解析結(jié)果是指向這些失效的或者正在維護(hù)的服務(wù)器,客戶得到的結(jié)果只能“服 務(wù)終止”。 服務(wù)器端的應(yīng)用層負(fù)載平衡調(diào)度方法 e d d i e 、r e v e r s e - p r o x y 和s w e b 都使用基于應(yīng)用層調(diào)度的方法來建立一個(gè) 可伸縮的w e b 服務(wù)器。它們都將到達(dá)的h t t p 請(qǐng)求轉(zhuǎn)發(fā)到不同的w e b 服務(wù)器, 取得結(jié)果后,再返回給用戶。該方法也存在一些問題:首先,從請(qǐng)求到達(dá)至處理 結(jié)束,負(fù)載平衡器需要進(jìn)行四次從核心到用戶空間的切換,從用戶到負(fù)載平衡器 和負(fù)載平衡器到真實(shí)服務(wù)器的兩次t c p 連接,系統(tǒng)處理開銷特別大,致使系統(tǒng) 的伸縮性有限。其次,基于應(yīng)用層的負(fù)載平衡器與應(yīng)用協(xié)議密切相關(guān),對(duì)于 r r r p 、 p r o x y 和s m t p 等應(yīng)用協(xié)議,需要寫不同的負(fù)載平衡器。本章將詳細(xì)分析一種在 應(yīng)用層實(shí)現(xiàn)的服務(wù)器集群,討論它的實(shí)現(xiàn)方式和性能特點(diǎn)。 服務(wù)器端的p 層負(fù)載平衡調(diào)度方法 b e r k e l e y 的m a g i c r o u t e r 、c i s c o 的l o c a l d i r e c t o r 、a l t h e o n 的a c e d i r e c t o r 和 f 5 的b i g n 等都是使用網(wǎng)絡(luò)地址轉(zhuǎn)換方法。m a g i c r o u t e r 是在l i n u x i3 版本上 應(yīng)用快速報(bào)文插入技術(shù),使得進(jìn)行負(fù)載平衡調(diào)度的用戶進(jìn)程訪問網(wǎng)絡(luò)設(shè)備接近核 1 2 ! ! 圭塑塞生! 些堡苧 心空間的速度,降低了上f 文切換的處理開銷,但并不徹底,它只是研究的原型 系統(tǒng),沒有成為有用的系統(tǒng)存活下來。在第三章和第四章將詳細(xì)討論1 p 層實(shí)現(xiàn) 的服務(wù)器集群。這些系統(tǒng)已經(jīng)運(yùn)用到了當(dāng)前的實(shí)際應(yīng)用中。 2 2 設(shè)計(jì)構(gòu)思及其相關(guān)背景 2 2 1 設(shè)計(jì)構(gòu)思 有些構(gòu)建分布式w e b 服務(wù)器的技術(shù)存在著對(duì)一個(gè)中心資源節(jié)點(diǎn)的依賴,比 如依賴于一個(gè)所謂的連接轉(zhuǎn)發(fā)路由器或者d n s 服務(wù)。系統(tǒng)要用這個(gè)資源節(jié)點(diǎn)來 將客戶端見到的單一口服務(wù)分配到多個(gè)真正的w e b 服務(wù)器上面。在本章中將要 分析一種應(yīng)用層技術(shù),它采用文檔遷移的方法實(shí)現(xiàn)負(fù)載在各臺(tái)服務(wù)器之間的遷移 和平衡。姑且把采用這種技術(shù)實(shí)現(xiàn)的服務(wù)器集群稱為分布式協(xié)同w e b 服務(wù)器。 它能夠有效地消除中心節(jié)點(diǎn)對(duì)整個(gè)系統(tǒng)的瓶頸限制,很方便地將系統(tǒng)的負(fù)載分配 到各臺(tái)服務(wù)器上面。在設(shè)計(jì)這個(gè)方案的時(shí)候要解決下面的問題:如果在應(yīng)用層實(shí) 現(xiàn),那么它必須與同為應(yīng)用層的h n 甲協(xié)議語法一致,并且要和通常的客戶端軟 件兼容。 2 2 2 相關(guān)背景 在人們對(duì)服務(wù)器集群的解決過程中,提出了各式各樣的基于d n s 的負(fù)載平 衡調(diào)度方案,n c s a 的可擴(kuò)展w e b 服務(wù)器由一群同構(gòu)的服務(wù)器組成,采用 r r d n s 實(shí)現(xiàn)負(fù)載的平衡調(diào)度,并且使用a n d r e w 文件系統(tǒng)來實(shí)現(xiàn)在這些服務(wù)器 中的負(fù)載共享【4 】。i b m 推出的可擴(kuò)展w e b 服務(wù)器是以s p 2 并行系統(tǒng)為基礎(chǔ)構(gòu) 建。它的核心是一群同構(gòu)的r s 6 0 0 0 工作站。這套系統(tǒng)使用t c p 連接路由器來實(shí) 現(xiàn)負(fù)載的分配【5 】,不再基于d n s 來調(diào)度客戶的訪問請(qǐng)求。但它的構(gòu)建范圍是僅 僅局限在緊密耦合系統(tǒng)如:s p 2 。 隨著各式各樣的異構(gòu)w e b 服務(wù)器的出現(xiàn),d n s 調(diào)度的難度進(jìn)一步增大???以在一定程度上說這種方案失去可行性?,F(xiàn)在人們提出了各種各樣的r r - d n s 改進(jìn)方案,就是為了解決w e b 服務(wù)器的異構(gòu)問題和不規(guī)則的客戶請(qǐng)求分布問題。 兩層r r - d n s 調(diào)度就是其中的一種。它將客戶請(qǐng)求分成兩類,普通型和突發(fā)型, 以便來處理不規(guī)則的客戶請(qǐng)求。 另外,還有人提出了基于自適應(yīng)的丁i l ( 存活時(shí)間t i m e t o l i v e ) 的調(diào)度 算法。在d n s 選擇那些服務(wù)性能較差的服務(wù)器或者響應(yīng)那些來自突發(fā)的熱點(diǎn)用 戶的地址映射請(qǐng)求時(shí),給這次映射分配的較短的t t l 。 在文獻(xiàn)【6 】提出的另一種解決方案是綜合考慮多個(gè)調(diào)度指標(biāo)如:c p u 使用率, 磁盤空間,網(wǎng)絡(luò)利用率等因素,從而找出最佳的任務(wù)作為遷移對(duì)象。有兩個(gè)平衡 碩士研究生畢業(yè)論文 負(fù)載的方法:d n s 輪轉(zhuǎn)( 也就是我們通常說的r r d n s ) i ih t t p u r l 的重定向。 d n s 輪轉(zhuǎn)用作最初的任務(wù)分配,h t t pu r l 重定向根據(jù)各服務(wù)器的負(fù)載情況動(dòng) 態(tài)的調(diào)整各臺(tái)服務(wù)器的負(fù)載。使用d n s 輪轉(zhuǎn)的一個(gè)潛在的問題是有可能產(chǎn)生所 謂的熱點(diǎn),而造成非常嚴(yán)重的負(fù)載不平衡。在文獻(xiàn)【7 】中有關(guān)于這個(gè)技術(shù)的詳盡 論述。 文獻(xiàn)【8 】對(duì)c i s c o 公司的l o c a l d i r e c t o r 系統(tǒng)有著詳細(xì)的介紹。這個(gè)系統(tǒng)使用 一個(gè)虛擬的服務(wù)器接受來自客戶的所有請(qǐng)求,l o c a l d i r e c t o r 在其中擔(dān)任了一個(gè)智 能路由器的功能,它將客戶請(qǐng)求包的目標(biāo)地址( 對(duì)l o c a l d i r e c t o r 收到的客戶包 來說,其目的地址是這個(gè)集群系統(tǒng)的虛擬m 地址) 的轉(zhuǎn)換為集群服務(wù)器中的真 實(shí)服務(wù)器的p 地址。這個(gè)系統(tǒng)的目標(biāo)是提供一個(gè)通用的解決方案,以便處理w e b 訪問和其他訪問。 在文獻(xiàn)【9 】中提出的快速包插入是一個(gè)用戶級(jí)的技術(shù)。它在m a g i c r o u t e r 中被 用來平衡負(fù)載。m a g c i r o u t e r 可以讓一群服務(wù)器不作任何修改而看起來是以一個(gè) 單一的虛擬p 地址向外界提供訪問服務(wù)。快速包插入技術(shù)在通過m a g i c r o u t e r 的數(shù)據(jù)包中修改網(wǎng)絡(luò)地址。從已有的資料看這個(gè)系統(tǒng)有較好的容錯(cuò)性能和負(fù)載平 衡性能。同所有的采用中心節(jié)點(diǎn)的方案一樣,m a 畫c r o u t e r 最有可能成為整個(gè)系 統(tǒng)的瓶頸。 在第四章,將會(huì)詳細(xì)介紹一種稱為分布式包重寫的技術(shù)( d p r ) 。d p r 技術(shù) 試圖在p 層將客戶請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)服務(wù)器上。這是一個(gè)分布式的算法。它試圖 通過取消所謂的中心節(jié)點(diǎn)來消除系統(tǒng)潛在的瓶頸。所有的機(jī)器同時(shí)作為w e b 服 務(wù)器和p 層的請(qǐng)求轉(zhuǎn)發(fā)器。同時(shí)還使用r r - d n s 以獲得一個(gè)大致的平衡負(fù)載。 2 3 總體思路 首先,我們可以分析一下大多數(shù)的i n t e r n e t 站點(diǎn)的頁面情況。通常一個(gè) 站點(diǎn)的w e b 頁面的集合可以看作一個(gè)有向圖,在這個(gè)有向圖中每一個(gè)文檔是一 個(gè)節(jié)點(diǎn),文檔中的每一個(gè)超級(jí)連接是圖中的有向弧,從一個(gè)節(jié)點(diǎn)指向另一個(gè)節(jié)點(diǎn)。 如果存在一個(gè)將這個(gè)有向圖分布在數(shù)臺(tái)服務(wù)器上的方法,那么對(duì)圖中的各個(gè)節(jié)點(diǎn) 的訪問負(fù)載就可以很平均的分配在這些服務(wù)器中,即使是突然改變w e b 的訪問 模式。這樣就有可能解決構(gòu)造分布式w e b 服務(wù)器所面臨的一個(gè)主要問題:負(fù)載 平衡問題。 其次,通過觀察我們還發(fā)現(xiàn):人們訪問絕大多數(shù)的w e b 站點(diǎn)時(shí)通常是從一 個(gè)眾所周知的入口點(diǎn)進(jìn)入,就象我們訪問雅虎時(shí)使用h t t p :n w w w y a h o o c o r n , 訪問新浪時(shí)使用h t t p :w w w s i n a c o r n c a 。 設(shè)想中的這種方案需要系統(tǒng)自適應(yīng)地改變w e b 頁面中的超級(jí)連接,這樣在 系統(tǒng)運(yùn)行過程中動(dòng)態(tài)地修改站點(diǎn)文檔有向圖在各臺(tái)服務(wù)器之間的分布,這種修改 由集群中的w e b 服務(wù)器自動(dòng)地完成。為了以后敘述方便,把那些維護(hù)整個(gè)站點(diǎn) 4 墅! :塑簍竺蘭些堡三 一 入l 1 的服務(wù)器稱為h o m e 服務(wù)器,對(duì)系統(tǒng)中的其他服務(wù)器來說,站點(diǎn)的內(nèi)部文 檔可會(huì)遷移到它們上面,以保持系統(tǒng)的負(fù)載平衡,可以把這些服務(wù)器稱為c o 服 務(wù)器。這樣h o m e 服務(wù)器和c o 服務(wù)器就構(gòu)成了分布式協(xié)同w e b 服務(wù)器集群。 它可能為我們解決隨著w e b 訪問量的幾何增長而來的對(duì)服務(wù)器的靈活性,可擴(kuò) 展性的需求提供方案。 分布式協(xié)同w e b 服務(wù)器解決方案不再依賴于基于i p 層的包操作技術(shù),域名 服務(wù)( d n s ) 和分布式文件系統(tǒng)。 網(wǎng)絡(luò)級(jí)或者l p 包級(jí)操作不再需要了,沒有什么節(jié)點(diǎn)需要了解從客戶到 服務(wù)器的p 包流,這樣就從根本上去除了傳統(tǒng)系統(tǒng)中那個(gè)影響整個(gè)系 統(tǒng)性能的中心節(jié)點(diǎn),通常的情況下就是它最可能成為整個(gè)系統(tǒng)的瓶頸。 不再通過特制d n s 來實(shí)現(xiàn)隱含的負(fù)載平衡,協(xié)同服務(wù)器利用超鏈直接 將負(fù)載( 客戶的訪問請(qǐng)求) 從一臺(tái)服務(wù)器轉(zhuǎn)移到另一臺(tái)機(jī)器上面,這種 調(diào)度的粒度是非常細(xì)小的。達(dá)到了文檔級(jí)。 這些協(xié)同的服務(wù)器不再需要在地理上集中或者在一個(gè)局域網(wǎng)段內(nèi)部,它 們可以在地理上分布,并且可以將網(wǎng)絡(luò)流量分布在很多網(wǎng)段上。 添加一個(gè)新的w e b 服務(wù)器是簡單的,靈活的,低成本的,任何可以使 用的機(jī)器都可可以添加到協(xié)同服務(wù)器中間來,根本不用考慮它相對(duì)于系 統(tǒng)中已有的服務(wù)器的位置關(guān)系。 在后面的幾節(jié)中,將分析這個(gè)系統(tǒng)的原理并將詳細(xì)討論在實(shí)現(xiàn)過程中可能遇 到的問題。 2 4 設(shè)計(jì)原則 在這一節(jié),將討論和分析在設(shè)計(jì)過程中可能遇到的主要問題。 2 4 1 入口點(diǎn)假設(shè) 通常人們對(duì)一個(gè)w e b 站點(diǎn),只知道它的幾個(gè)主要的訪問點(diǎn)。這些入口點(diǎn)是 一些廣泛發(fā)布的h t t pu r l 地址。舉個(gè)例子來說;一些著名的商業(yè)站點(diǎn)和門戶 網(wǎng)站通過互聯(lián)網(wǎng)、新聞報(bào)紙、廣播、電視等將站點(diǎn)的入口u r l 發(fā)布到世界各地, 我們絕少看見內(nèi)部文檔的u r l 發(fā)布。因此在設(shè)計(jì)這個(gè)系統(tǒng)的時(shí)候,可以基于以 下關(guān)于w e b 文檔的組織和訪問模式的結(jié)論【1 0 : 一個(gè)w e b 文檔要么是一個(gè)人所共知的站點(diǎn)入口點(diǎn),要么是內(nèi)部文檔。 非入口點(diǎn)文檔的訪問一般是客戶先經(jīng)過入口點(diǎn),然后順著入口點(diǎn)內(nèi)超級(jí) 連接的指向來到這個(gè)w e b 文檔。 嵌在一個(gè)w e b 文檔中的圖片u r l 是很少公布的,用戶根本不用知道嵌 碩士研究生畢業(yè)論文 入文檔的u r l ,這是因?yàn)樵谌 e b 文檔時(shí)瀏覽器自動(dòng)的將圖片取回, 無須用戶的介入。同時(shí)還應(yīng)該注意到圖片消耗了網(wǎng)絡(luò)很大一部分帶寬, 因?yàn)樗鼈兿鄬?duì)較大。 一個(gè)比較流行的技術(shù)時(shí)使用幀結(jié)構(gòu)( f r a m e ) ,它是由一個(gè)幀模板加上幾 個(gè)少為外界所知的w e b 文檔頁面構(gòu)成的。通常的幀模板文件很小的, 可以很方便的保留在h o m e 服務(wù)器內(nèi)部,幀的內(nèi)部文檔可能是很大的, 它們可以遷移到其他的服務(wù)器上,以取得負(fù)載的平衡。 在這種情況下,用戶可以根本不考慮采w e b 站點(diǎn)內(nèi)部的u r l 是指向哪 里的,就像它們從一些通用的入口訪問站點(diǎn)一樣。 除了在上面所說的幾種情況中外,還有幾種情況不得不考慮,那就是w e b 搜索索引和用戶的書簽。w e b 搜索索引是由很大的搜索引擎如a l t a v i s a 和 i n f o s e e k 等維護(hù)的。這些搜索引擎將特定站點(diǎn)內(nèi)部的所有滿足查詢條件的頁面公 布出來。書簽則是用戶保存在它們計(jì)算機(jī)上的文檔u r l 地址,這樣用戶可能以 書簽的方式訪問給定的w e b 站點(diǎn)內(nèi)部的任何頁面。不過,我們注意到,有很多 的方法讓這些訪問必須經(jīng)過那些公共入口,如可以在c o o k i e 中或者在u r l 中 添加由c g i 腳本或者j a v a s c r i p t 產(chǎn)生的標(biāo)志、序列號(hào)等。 在后面的討論中,我們假定大多數(shù)的訪問請(qǐng)求遵循通常的模式,即由一個(gè)廣 為人知的入口點(diǎn)進(jìn)入,只有少量的訪問方式是來自于書簽或者搜索引擎等。我們 的目標(biāo)是最優(yōu)化通常的訪問方式,對(duì)那些較為少見的方式來說,在一定的程度上 其訪問的響應(yīng)時(shí)間是有所損失的。 2 4 2 文檔遷移 在創(chuàng)建一個(gè)w e b 站點(diǎn)的最初,所有的文檔保留在h o m e 服務(wù)器上面。h o m e 服務(wù)器作為管理員或者開發(fā)人員創(chuàng)作這些文檔時(shí)最初放置的地方,為了方便一致 性管理和增強(qiáng)整個(gè)系統(tǒng)的魯棒性( r o b i ,s t ) ,應(yīng)該考慮在這個(gè)服務(wù)器上面保存 一份文檔的原始拷貝。此外,h o m e 服務(wù)器還負(fù)責(zé)維護(hù)整個(gè)站點(diǎn)的入口,以便 遠(yuǎn)端用戶對(duì)這個(gè)站點(diǎn)有個(gè)一致的外觀。除了那些入口文檔以外,其他的文檔和圖 片可以遷移到c o 服務(wù)器上面。所謂的c o 服務(wù)器是用來分擔(dān)系統(tǒng)負(fù)載的計(jì)算機(jī), 理論上,一個(gè)w e b 文檔可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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è)新材料研究與開發(fā)考核試卷
- 半導(dǎo)體器件的光電耦合器件考核試卷
- 標(biāo)準(zhǔn)化服務(wù)在環(huán)保設(shè)備制造的技術(shù)創(chuàng)新考核試卷
- 染整工藝優(yōu)化與節(jié)能減排考核試卷
- 拍賣行業(yè)國際市場預(yù)測與分析考核試卷
- 中草藥種植的農(nóng)業(yè)產(chǎn)業(yè)鏈協(xié)同創(chuàng)新考核試卷
- 塑料板材的耐切割性能研究考核試卷
- 孤殘兒童庇護(hù)服務(wù)社會(huì)效益提升路徑研究與實(shí)踐案例考核試卷
- 模擬射擊器材租賃合同范本考核試卷
- 2025年全國高考體育單招政治時(shí)事填空練習(xí)50題(含答案)
- 中華人民共和國學(xué)前教育法-知識(shí)培訓(xùn)
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫380題(含答案)
- 面包生產(chǎn)工藝流程圖
- 特種設(shè)備使用單位名稱變更申請(qǐng)表(共2頁)
- CASS勘測定界操作指導(dǎo)方案
- 員工考勤表(通用版)
- 貫徹九項(xiàng)準(zhǔn)則《醫(yī)療機(jī)構(gòu)工作人員廉潔從業(yè)九項(xiàng)準(zhǔn)則》PPT
- 2021年度藥店培訓(xùn)計(jì)劃一覽表
- 使用rhIL-11才能更加合理地防治血小板減少 指南(全文)
- 畢業(yè)設(shè)計(jì)(論文)VFP小說租閱管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論