《分布式系统:概念与设计》一1.3 分布式系统的趋势
1.3 分布式系統(tǒng)的趨勢
分布式系統(tǒng)正在經(jīng)歷巨大的變化,這可追溯到一系列有影響力的趨勢:
- 出現(xiàn)了泛在聯(lián)網(wǎng)技術(shù);
- 出現(xiàn)了無處不在計算,它伴隨著分布式系統(tǒng)中支持用戶移動性的意愿;
- 對多媒體設(shè)備的需求增加;
- 把分布式系統(tǒng)作為一個設(shè)施。
1.3.1 泛在聯(lián)網(wǎng)和現(xiàn)代互聯(lián)網(wǎng)
現(xiàn)代互聯(lián)網(wǎng)是一個巨大的由多種類型計算機(jī)網(wǎng)絡(luò)互連的集合,網(wǎng)絡(luò)的類型一直在增加,現(xiàn)在包括多種多樣的無線通信技術(shù),如WiFi、WiMAX、藍(lán)牙(參見第3章)和第三代移動電話網(wǎng)絡(luò)。最終結(jié)果是聯(lián)網(wǎng)已成為一個泛在的資源,設(shè)備可以在任何時間、任何地方被連接(如果愿意)。
圖1-3舉例說明了互聯(lián)網(wǎng)的部分典型組成。互聯(lián)網(wǎng)上的計算機(jī)程序通過傳遞消息進(jìn)行交互,采用了一種公共的通信手段。互聯(lián)網(wǎng)通信機(jī)制(互聯(lián)網(wǎng)協(xié)議)的設(shè)計和構(gòu)造是一項(xiàng)重大的技術(shù)成果,它使得一個在某處運(yùn)行的程序能給另一個地方的程序發(fā)送消息。
互聯(lián)網(wǎng)也是一個超大的分布式系統(tǒng)。它使得世界各地的用戶都能利用諸如萬維網(wǎng)、電子郵件和文件傳送等服務(wù)。(有時,Web被不正確地等同于互聯(lián)網(wǎng)。)服務(wù)集是開放的,它能夠通過服務(wù)器計算機(jī)和新的服務(wù)的增加而被擴(kuò)展。圖1-3還展示了許多企業(yè)內(nèi)部網(wǎng)——由公司和其他組織操作的子網(wǎng),通常受防火墻的保護(hù)。防火墻的作用是保護(hù)企業(yè)內(nèi)部網(wǎng),防止未授權(quán)的消息進(jìn)出網(wǎng)絡(luò)。8防火墻是通過過濾到達(dá)消息和外發(fā)消息來實(shí)現(xiàn)的。可以在源或目的地進(jìn)行過濾,或者防火墻可以僅允許與電子郵件和Web訪問相關(guān)的消息進(jìn)出它保護(hù)的企業(yè)內(nèi)部網(wǎng)。互聯(lián)網(wǎng)服務(wù)提供商(Internet Service Provider,ISP)是給個體用戶和小型組織提供寬帶鏈接和其他類型連接的公司,使他們能獲得互聯(lián)網(wǎng)上任何地方的服務(wù);同時提供諸如電子郵件和Web托管等本地服務(wù)。企業(yè)內(nèi)部網(wǎng)通過主干網(wǎng)實(shí)現(xiàn)互相鏈接。主干網(wǎng)是具有高傳送能力的網(wǎng)絡(luò)鏈接,通常采用衛(wèi)星連接、光纜和其他高帶寬線路。
一些組織并不希望將他們的內(nèi)部網(wǎng)絡(luò)連接到互聯(lián)網(wǎng)。例如,警察局與其他安全和法律執(zhí)行機(jī)構(gòu)可能至少有一些內(nèi)部網(wǎng)與外部世界隔離(沒有與互聯(lián)網(wǎng)的任何物理連接——可能是最有效的防火墻)。當(dāng)內(nèi)部用戶和外部用戶之間需要資源共享時,對服務(wù)的合法訪問受到防火墻的阻礙,也會在分布式系統(tǒng)中出現(xiàn)問題。因此,必須經(jīng)常用更細(xì)粒度的機(jī)制和策略(見第11章的討論)作為防火墻的補(bǔ)充。
互聯(lián)網(wǎng)和其支持的服務(wù)的實(shí)現(xiàn),使得必須開發(fā)實(shí)用解決方案來解決分布式系統(tǒng)中的許多問題(包括在1.5節(jié)中定義的大多數(shù)問題)。本書將著重闡述這些解決方案,并在適當(dāng)?shù)臅r候說明它們的適用范圍和局限性。9
1.3.2 移動和無處不在計算
設(shè)備小型化和無線網(wǎng)絡(luò)方面的技術(shù)進(jìn)步已經(jīng)逐步使得小型和便攜式計算設(shè)備集成到分布式系統(tǒng)中。這些設(shè)備包括:
- 筆記本電腦。
- 手持設(shè)備,包括移動電話、智能電話、GPS設(shè)備、傳呼機(jī)、個人數(shù)字助理(PDA)、攝像機(jī)和數(shù)碼相機(jī)。
- 可穿戴設(shè)備,如具有類似PDA功能的智能手表。
- 嵌入在家電(如洗衣機(jī)、高保真音響系統(tǒng)、汽車和冰箱)中的設(shè)備。
這些設(shè)備大多數(shù)具有可攜帶性,再加上它們可以在不同地方方便地連接到網(wǎng)絡(luò)的能力,使得移動計算成為可能。移動計算是指用戶在移動或訪問某個非常規(guī)環(huán)境時執(zhí)行計算任務(wù)的性能。在移動計算中,遠(yuǎn)離其本地的企業(yè)內(nèi)部網(wǎng)(指工作環(huán)境或其住處的企業(yè)內(nèi)部網(wǎng))的用戶也能通過他們攜帶的設(shè)備訪問資源。他們能繼續(xù)訪問互聯(lián)網(wǎng),繼續(xù)訪問在他們本地內(nèi)部企業(yè)網(wǎng)上的資源。為用戶在其移動時提供資源(如打印機(jī))或方便地利用附近的銷售點(diǎn)的情形也在不斷增加。后者也稱為位置感知或上下文感知的計算。移動性為分布式系統(tǒng)引入了一系列的挑戰(zhàn),包括需要處理變化的連接甚至斷連、需要在設(shè)備移動時維持操作(見1.5.7節(jié)關(guān)于移動透明性的討論)。
無處不在計算是指對在用戶的物理環(huán)境(包括家庭、辦公室和其他自然環(huán)境)中存在的多個小型、便宜的計算設(shè)備的利用。術(shù)語“無處不在”意指小型計算設(shè)備最終將在不會引人注意的日常物品中普及。也就是說,它們的計算行為將透明地緊密捆綁到這些日常物品的物理功能上。
各處的計算機(jī)只有在它們能相互通信時才變得有用。例如,如果用戶能通過電話或一個“通用遠(yuǎn)程控制”設(shè)備控制家里的洗衣機(jī)和娛樂系統(tǒng),那么用戶會覺得很方便。而洗衣機(jī)在完成洗衣后能通過一個智能徽章或電話通知用戶,也會讓人覺得很方便。
無處不在計算和移動計算有交叉的地方,因?yàn)閺脑砩险f,移動用戶能受益于遍布各處的計算機(jī)。但一般而言,它們是不同的。無處不在計算能讓待在家里或醫(yī)院這樣單一的環(huán)境中的用戶受益。類似地,即使移動計算只涉及常見的、分立的計算機(jī)和設(shè)備(如筆記本電腦和打印機(jī)),它還是有優(yōu)勢的。
圖1-4顯示了一個正在訪問一個組織的用戶。該圖顯示出用戶本地的內(nèi)部網(wǎng)和用戶正在訪問的內(nèi)部網(wǎng)。兩個企業(yè)內(nèi)部網(wǎng)都連接到互聯(lián)網(wǎng)。
用戶可以使用三種無線連接。筆記本電腦可以連接到被訪問組織的無線LAN。無線LAN覆蓋方圓幾百米的范圍(即建筑物的一層)。10它通過網(wǎng)關(guān)或訪問點(diǎn)連接到被訪問組織的企業(yè)內(nèi)部網(wǎng)。用戶還有一部連到互聯(lián)網(wǎng)的移動電話,電話可以訪問Web和其他互聯(lián)網(wǎng)服務(wù),只是所顯示的內(nèi)容受限于小的顯示屏幕,電話也可以通過內(nèi)置的GPS功能提供位置信息。最后,用戶攜帶一臺數(shù)碼相機(jī),它能通過一個個域無線網(wǎng)絡(luò)(其覆蓋范圍大約為10m)與打印機(jī)這樣的設(shè)備通信。
利用適當(dāng)?shù)南到y(tǒng)基礎(chǔ)設(shè)施,用戶能在其訪問地用他們攜帶的設(shè)備完成一些簡單的任務(wù)。當(dāng)用戶到達(dá)其訪問的地方時,他能通過移動電話從Web服務(wù)器上取得最新的股票價格,也能使用內(nèi)置的GPS和路由尋找軟件來獲得到達(dá)目標(biāo)位置的方向。在與訪問單位開會時,通過把數(shù)碼相機(jī)的照片直接發(fā)送到會議室的一臺可用的(本地)打印機(jī)或投影機(jī)上,用戶就能展示最近的照片。這僅僅要求相機(jī)和打印機(jī)或投影機(jī)之間具有無線連接。原則上,用戶可以利用無線LAN或有線的以太網(wǎng)鏈接從筆記本電腦上把文件發(fā)送到同一臺打印機(jī)。
這個場景說明了支持自發(fā)互操作的需求,依靠自發(fā)互操作,設(shè)備之間的關(guān)聯(lián)被例行地創(chuàng)建和拆除,定位和使用所訪問地的設(shè)備(如打印機(jī))是一個這方面的例子。這種情況下的最大挑戰(zhàn)是讓互操作快速和方便(即自發(fā)),即使用戶可能在一個他們以前從來沒有訪問過的環(huán)境。這意味著,要讓訪問者的設(shè)備在訪問地的網(wǎng)絡(luò)上通信,并將設(shè)備與合適的本地設(shè)備相關(guān)聯(lián)——這個過程稱為服務(wù)發(fā)現(xiàn)。
移動和無處不在計算是一個熱門的研究領(lǐng)域,上面提到的多個方面將在第19章深入討論。11
1.3.3 分布式多媒體系統(tǒng)
另一個重要的趨勢是在分布式系統(tǒng)中支持多媒體服務(wù)的需求。多媒體支持可以定義為以集成的方式支持多種媒體類型的能力。人們可以期望分布式多媒體系統(tǒng)支持離散類型媒體(如圖片或正文消息)的存儲、傳輸和展示。分布式多媒體系統(tǒng)應(yīng)該能對連續(xù)類型媒體(如音頻和視頻)完成相同的功能,即它應(yīng)該能存儲和定位音頻或視頻文件,并通過網(wǎng)絡(luò)傳輸它們(可能需要以實(shí)時的方式,因?yàn)榱鱽碜詳z像機(jī)),從而能向用戶展示多種媒體類型,以及在一組用戶中共享多種類型的媒體。
連續(xù)媒體的重要特點(diǎn)是它們包括一個時間維度,確實(shí),媒體類型的完整性從根本上依賴于在媒體類型的元素之間保持實(shí)時關(guān)系。例如,在視頻展示中,保持給定的吞吐量是必要的,它以幀/秒計,而對實(shí)時流來說,是給定幀傳遞的最大延遲。(這是服務(wù)質(zhì)量的一個例子,詳細(xì)討論見1.5.8節(jié)。)
分布式多媒體計算的好處是相當(dāng)大的,因?yàn)槟茉谧烂姝h(huán)境提供大量的新(多媒體)服務(wù)和應(yīng)用,包括訪問實(shí)況或預(yù)先錄下的電視廣播、訪問提供視頻點(diǎn)播服務(wù)的電影資料庫、訪問音樂資料庫、提供音頻和視頻會議設(shè)施、提供集成的電話功能(包括IP電話或相關(guān)的技術(shù),例如IP電話的一個對等方案Skype,對Skype底層的分布式系統(tǒng)基礎(chǔ)設(shè)施的討論見4.5.2節(jié))。注意,該項(xiàng)技術(shù)對于制造商重新思考消費(fèi)類設(shè)備方面是革命性的。例如,什么是將來核心的家庭娛樂設(shè)備——計算機(jī)、電視或游戲控制臺?
網(wǎng)絡(luò)播放(webcasting)是分布式多媒體技術(shù)的應(yīng)用。網(wǎng)絡(luò)播放是在互聯(lián)網(wǎng)上廣播連續(xù)媒體(典型的是音頻或視頻)的能力,現(xiàn)在常見以這種方式廣播主要的體育或音樂事件,它經(jīng)常吸引大量的觀看者(例如,2005年的Live8音樂會在其高峰同時吸引了大約170000名用戶)。
分布式多媒體應(yīng)用(例如網(wǎng)絡(luò)播放)對底層的分布式基礎(chǔ)設(shè)施提出了大量的要求,包括:
- 提供對一系列(可擴(kuò)展的)編碼和加密格式的支持,例如MPEG系列標(biāo)準(zhǔn)(包括如流行的MP3標(biāo)準(zhǔn),也稱MPEG-1音頻第三層)和HDTV;
- 提供一系列機(jī)制來保障所需的服務(wù)質(zhì)量能得到滿足;
- 提供相關(guān)的資源管理策略,包括合適的調(diào)度策略,來支持所需的服務(wù)質(zhì)量;
- 提供適配策略來處理在開放系統(tǒng)中不可避免的場景,即服務(wù)質(zhì)量不能得到滿足或維持。
這些機(jī)制的進(jìn)一步討論可以在第20章找到。12
1.3.4 把分布式計算作為一個公共設(shè)施
隨著分布式系統(tǒng)基礎(chǔ)設(shè)施的不斷成熟,不少公司在推廣這樣的觀點(diǎn):把分布式資源看成一個商品或公共設(shè)施,把分布式資源和其他公用設(shè)施(例如水或電)進(jìn)行類比。采用這個模型,資源通過合適的服務(wù)提供者提供,能被最終用戶有效地租賃而不是擁有。這種模型可以應(yīng)用到物理資源和更多的邏輯服務(wù)上。
- 聯(lián)網(wǎng)的計算機(jī)可用諸如存儲和處理這樣的物理資源,從而無須自己擁有這樣的資源。從一個維度看,用戶可以為其文件存儲(例如,照片、音樂或視頻等多媒體數(shù)據(jù)的存儲)需求和/或文件備份需求選擇一個遠(yuǎn)程存儲設(shè)施。類似地,利用這個方法,用戶能租用一個或多個計算結(jié)點(diǎn),從而滿足他們的基本計算需求或者完成分布式計算。從另一個維度看,用戶現(xiàn)在能用像Amazon和Google之類的公司提供的服務(wù)訪問復(fù)雜的數(shù)據(jù)中心(網(wǎng)絡(luò)化的設(shè)施,為用戶或機(jī)構(gòu)提供對擁有大量數(shù)據(jù)的數(shù)據(jù)倉庫的訪問)或計算基礎(chǔ)設(shè)施。操作系統(tǒng)虛擬化是該方法關(guān)鍵的使能技術(shù),它意味著實(shí)際上可以通過一個虛擬的而不是物理的結(jié)點(diǎn)為用戶提供服務(wù)。這從資源管理角度給服務(wù)提供者提供了更大的靈活性(關(guān)于操作系統(tǒng)虛擬化的詳細(xì)討論見第7章)。
- 用這種方法,軟件服務(wù)(其定義見1.4節(jié))也能跨全球互聯(lián)網(wǎng)使用。確實(shí),許多公司現(xiàn)在提供一整套服務(wù)用于租賃,包括諸如電子郵件和分布式日歷之類的服務(wù)。例如,Google將其旗下的一系列業(yè)務(wù)服務(wù)捆綁成Google Apps[www.google.com I]。軟件服務(wù)所遵循的標(biāo)準(zhǔn),例如Web服務(wù)(見第9章)提供的標(biāo)準(zhǔn),使得這類開發(fā)成為可能。
關(guān)于計算作為公共設(shè)施,術(shù)語云計算(cloud computing)被用來刻畫其前景。云被定義成一組基于互聯(lián)網(wǎng)的應(yīng)用,并且足以滿足大多數(shù)用戶需求的存儲和計算服務(wù)的集合,這使得用戶能大部分或全部免除本地數(shù)據(jù)存儲和應(yīng)用軟件的使用(見圖1-5)。
圖1-5 云計算該術(shù)語也推廣“把每個事物看成一個服務(wù)”的觀點(diǎn),從物理或虛擬基礎(chǔ)設(shè)施到軟件,這樣,服務(wù)經(jīng)常根據(jù)使用而非購買來支付費(fèi)用。注意,云計算減少了對用戶設(shè)備的需求,允許非常簡單的桌面或便攜式設(shè)備來訪問可能很廣范圍內(nèi)的資源和服務(wù)。
通常,云實(shí)現(xiàn)在集群計算機(jī)上,從而提供每個服務(wù)所要求的必要的伸縮性和性能。集群計算機(jī)(cluster computer)是互連的計算機(jī)集合,它們緊密協(xié)作提供單一的、集成的高性能計算能力。在諸如Berkeley的NOW(Network of Workstations)項(xiàng)目[Anderson et al.1995,now.cs.berkeley.edu]和NASA的Beowulf項(xiàng)目[www.beowulf.org]的基礎(chǔ)上,現(xiàn)在的趨勢是計算機(jī)和互連網(wǎng)絡(luò)都朝著利用商用硬件的方向發(fā)展。13大多數(shù)集群由商用PC組成,這些PC運(yùn)行操作系統(tǒng)(如Linux)的標(biāo)準(zhǔn)版本(有時是縮減版),并通過局域網(wǎng)互聯(lián)。諸如HP、Sun和IBM等公司提供了刀片解決方案。刀片服務(wù)器(blade server)是最小的包含處理和(主存)存儲能力的計算元素。刀片系統(tǒng)由包含在一個刀片機(jī)架中的大量刀片服務(wù)器組成。其他元素例如電源、冷卻、持久存儲(磁盤)、聯(lián)網(wǎng)和顯示,或是由機(jī)架提供或是通過虛擬化解決方案提供(相關(guān)討論見第7章)。通過這個解決方案,單個刀片服務(wù)器比商用PC更小,也更便宜。
集群服務(wù)器的總目的是提供一系列的云服務(wù),包括高性能計算能力、大容量存儲(例如通過數(shù)據(jù)中心)、豐富的應(yīng)用服務(wù)(如Web搜索——Google依賴大容量集群計算機(jī)體系結(jié)構(gòu)來實(shí)現(xiàn)其搜索引擎和其他服務(wù),相關(guān)討論見第21章)。
網(wǎng)格計算(相關(guān)討論見第9章9.7.2節(jié))也能被看成是一種云計算。大量的術(shù)語是同義的,偶爾定義得不清楚,但網(wǎng)格計算通常被看成是云計算這種更通用模式的先驅(qū),它只是偏重于支持科學(xué)計算。
總結(jié)
以上是生活随笔為你收集整理的《分布式系统:概念与设计》一1.3 分布式系统的趋势的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教你如何用手机查看哪些人在蹭你家的WIF
- 下一篇: 如何删除Windows 7的保留分区