關(guān)于我們
書單推薦
新書推薦
|
分布式系統(tǒng)概念與設(shè)計(jì) 讀者對象:可作為高等院校計(jì)算機(jī)及相關(guān)專業(yè)本科生及研究生的教材, 也可供廣大技術(shù)人員參閱
《分布式系統(tǒng):概念與設(shè)計(jì)(原書第5版)》旨在全面介紹互聯(lián)網(wǎng)及其他常用分布式系統(tǒng)的原理、體系結(jié)構(gòu)、算法和設(shè)計(jì),內(nèi)容涵蓋分布式系統(tǒng)的相關(guān)概念、安全、數(shù)據(jù)復(fù)制、組通信、分布式文件系統(tǒng)、分布式事務(wù)、分布式系統(tǒng)設(shè)計(jì)等,以及相關(guān)的前沿主題,包括Web服務(wù)、網(wǎng)格、移動(dòng)系統(tǒng)和無處不在系統(tǒng)等。
計(jì)算機(jī)領(lǐng)域經(jīng)典著作,被譽(yù)為是衡量所有其他分布式系統(tǒng)教材的標(biāo)準(zhǔn),已被愛丁堡大學(xué)、伊利諾伊大學(xué)、卡內(nèi)基-梅隆大學(xué)、南加州大學(xué)、得克薩斯A&M大學(xué)、多倫多大學(xué)、羅切斯特理工學(xué)院、北京大學(xué)等名校采納為高級操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、分布式系統(tǒng)課程的教材。華章從第3版就開始引進(jìn)這本《分布式系統(tǒng):概念與設(shè)計(jì)(原書第5版)》,每個(gè)版本翻譯版印量約為7000冊,影印版約為5000冊。雖然由于屬于高級課程,銷量有局限性,但本書在高等院校的師生和研究人員中具有很高的知名度,對于華章教育品牌也具有較大的支撐作用,所以確定繼續(xù)做這本教材。
Distributed Systems:Concepts and Design,F(xiàn)ifth Edition
在互聯(lián)網(wǎng)和Web持續(xù)發(fā)展并且對我們社會的每個(gè)方面都產(chǎn)生影響的時(shí)候,這本教材的第5版問世了。本書的介紹性章節(jié)提到互聯(lián)網(wǎng)和Web對諸多(如金融、商業(yè)、藝術(shù)、娛樂等)應(yīng)用領(lǐng)域的影響以及對信息社會的普遍影響。它還強(qiáng)調(diào)了諸如Web搜索和多人在線游戲等應(yīng)用領(lǐng)域中的需求。從分布式系統(tǒng)的角度出發(fā),這些開發(fā)在應(yīng)用的范圍、多個(gè)現(xiàn)代系統(tǒng)所支持的工作負(fù)載和系統(tǒng)大小等方面正在對底層系統(tǒng)架構(gòu)提出實(shí)質(zhì)性的新需求。重要的趨勢包括網(wǎng)絡(luò)技術(shù)上不斷增加的多樣性和普遍性(包括不斷增加的無線網(wǎng)絡(luò)的重要性)、移動(dòng)和無處不在計(jì)算元素及分布式系統(tǒng)架構(gòu)的集成(這導(dǎo)致了相當(dāng)不同的物理體系結(jié)構(gòu)),還包括支持多媒體服務(wù)的需求和云計(jì)算模式的出現(xiàn),這些都對分布式系統(tǒng)服務(wù)的觀點(diǎn)提出了挑戰(zhàn)。 本書旨在提供對互聯(lián)網(wǎng)和其他分布式系統(tǒng)原理的理解,提供這些系統(tǒng)的體系結(jié)構(gòu)、算法和設(shè)計(jì),展示它們?nèi)绾螡M足當(dāng)代分布式應(yīng)用的需求。本書的前7章覆蓋分布式系統(tǒng)研究的基礎(chǔ)部分。前兩章提供對主題的概念性概述,介紹了分布式系統(tǒng)的特征和在系統(tǒng)設(shè)計(jì)中所必須解決的挑戰(zhàn):最重要的可伸縮性、異構(gòu)性、安全性和故障處理。這兩章還開發(fā)了用于理解交互過程、故障和安全性的抽象模型。隨后是其他基礎(chǔ)性章節(jié),這些章節(jié)介紹了網(wǎng)絡(luò)研究、進(jìn)程間通信、遠(yuǎn)程調(diào)用、間接通信和操作系統(tǒng)支持。 后續(xù)的章節(jié)涉及中間件這個(gè)重要的主題,考察了支持分布式應(yīng)用的不同的方法,包括分布式對象和組件、Web服務(wù)和對等解決方案。接下來的章節(jié)涉及安全、分布式文件系統(tǒng)和分布式命名系統(tǒng)這些已被完善的主題,然后介紹了與數(shù)據(jù)相關(guān)的重要方面(包括分布式事務(wù)和數(shù)據(jù)復(fù)制)。與這些主題相關(guān)的算法也在它們出現(xiàn)時(shí)被論及,或者在專門論述定時(shí)、協(xié)調(diào)和協(xié)定等單獨(dú)的章節(jié)中介紹。 本書接著論述移動(dòng)和無處不在計(jì)算以及分布式多媒體系統(tǒng)這些新出現(xiàn)的領(lǐng)域,然后給出了一個(gè)內(nèi)容充實(shí)的實(shí)例研究,從搜索功能和由Google提供的不斷擴(kuò)展的附加服務(wù)(例如,Gmail和Google Earth)兩個(gè)角度,關(guān)注支持Google的分布式系統(tǒng)基礎(chǔ)設(shè)施的設(shè)計(jì)和實(shí)現(xiàn)。最后一章綜述了本書所介紹的所有這些體系結(jié)構(gòu)概念、算法和技術(shù),詮釋了如何在一個(gè)給定應(yīng)用領(lǐng)域的整體設(shè)計(jì)中將這些內(nèi)容組織在一起。 第5版新增部分 新的章節(jié) 間接通信(第6章),包括組通信、發(fā)布-訂閱,對JavaSpaces、JMS、WebSphere和Message Queues的實(shí)例研究。 分布式對象和組件(第8章),包括基于組件的中間件和對企業(yè)版JavaBeans、Fractal和CORBA的實(shí)例研究。 分布式系統(tǒng)設(shè)計(jì):Google實(shí)例研究(第21章),專門針對Google基礎(chǔ)設(shè)施的新的大的實(shí)例研究。 新增到其他章節(jié)中的主題 云計(jì)算、網(wǎng)絡(luò)虛擬化、操作系統(tǒng)虛擬化、消息傳遞接口、無結(jié)構(gòu)的P2P、元組空間、與Web服務(wù)相關(guān)的松耦合。 其他新的實(shí)例研究 Skype、Gnutella、TOTA、L2imbo、BitTorrent、End System Multicast。 關(guān)于內(nèi)容更新的更詳細(xì)的情況,參見Ⅷ頁中的表。 目的和讀者群 本書可用做本科生教材和研究生的入門教材,也可作為自學(xué)教材。本書采用自頂向下的方法,首先敘述在分布式系統(tǒng)設(shè)計(jì)中要解決的問題,然后,通過抽象模型、算法和對廣泛使用的系統(tǒng)進(jìn)行詳細(xì)的實(shí)例研究,描述成功開發(fā)系統(tǒng)的方法。本書覆蓋的領(lǐng)域有足夠的深度和廣度,以便讀者能繼續(xù)研究分布式系統(tǒng)文獻(xiàn)中大多數(shù)的研究論文。 本書針對具有面向?qū)ο缶幊、操作系統(tǒng)、初級計(jì)算機(jī)體系結(jié)構(gòu)等基礎(chǔ)知識的學(xué)生。本書覆蓋與分布式系統(tǒng)有關(guān)的計(jì)算機(jī)網(wǎng)絡(luò),包括互聯(lián)網(wǎng)、廣域網(wǎng)、局域網(wǎng)和無線網(wǎng)的基本技術(shù)。本書中的算法和接口大部分用Java描述,小部分用ANSI C描述。為了表述上的簡潔明了,還使用一種從Java/C派生出來的偽碼。 本書的組織 下圖顯示的本書章節(jié)可歸在7個(gè)主要的主題領(lǐng)域。該圖提供了本書的結(jié)構(gòu)指南,也為教師、讀者提供了一個(gè)導(dǎo)航路徑,以便于他們理解分布式系統(tǒng)設(shè)計(jì)中的不同子領(lǐng)域。 與第4版相關(guān)的改變 在開始新版本寫作之前,我們針對使用第4版的教師做了一個(gè)調(diào)查,并根據(jù)調(diào)查結(jié)果識別出所需要的新材料和需要做的修改。此外,我們認(rèn)識到不斷增加的分布式系統(tǒng)的多樣性,特別是從當(dāng)前可用于分布式系統(tǒng)開發(fā)者的體系結(jié)構(gòu)方法的范圍來說。這些都要求本書做重要的改變,特別是前面(基礎(chǔ)性)的章節(jié)。 總之,這些使得我們編寫了全新的3章,對其他一些章節(jié)做了實(shí)質(zhì)性的修改,并在書中多處補(bǔ)充了新的內(nèi)容。對許多章節(jié)進(jìn)行了改變以反映所描述系統(tǒng)的新的、可用的信息。這些修改總結(jié)在下面的表格中。為了幫助已使用過第4版的教師,只要可能,我們就保留了前一版本采用的結(jié)構(gòu)。對于已被刪除的材料,我們把它放在與書配套的Web網(wǎng)站上,并與以前版本中被刪除的材料放在一起。這些被刪除的材料包括關(guān)于ATM的實(shí)例研究、UNIX中的進(jìn)程間通信、CORBA(其精減的版本仍然保留在第8章中)、Jini分布式事件規(guī)約和(以O(shè)GSA和Globus工具集為特色的)網(wǎng)格中間件,以及關(guān)于分布式共享內(nèi)存的章節(jié)(對它的簡明總結(jié)現(xiàn)在被包含在第6章中)。 在本書的一些章節(jié)中,例如新的關(guān)于間接通信的章節(jié)(第6章)包含了許多材料。教師在選擇2~3項(xiàng)技術(shù)做詳細(xì)的講解之前可以選擇廣泛的內(nèi)容(例如,組通信,假定它的基本角色,以及發(fā)布-訂閱或消息隊(duì)列,假定它們在商業(yè)分布式系統(tǒng)中的盛行)。 章節(jié)的順序已經(jīng)修改以容納新的材料,并反映對某些主題相對重要性的改變。為了完全理解某些主題,讀者可能發(fā)現(xiàn)附帶一個(gè)參考文獻(xiàn)是必要的。例如,如果第9章引用的第11章安全的章節(jié)被理解,那么第9章關(guān)于XML安全技術(shù)的內(nèi)容可以被更好地理解。 本書結(jié)構(gòu)變動(dòng)如下表所示: 新增的章:第6章 間接通信 包括了第4版的事件和通知第8章 分布式對象和組件 全部包括了來自第4版的CORBA實(shí)例研究第21章 分布式系統(tǒng)設(shè)計(jì):Google實(shí)例研究 包含一個(gè)新的關(guān)于Google的大的實(shí)例研究有實(shí)質(zhì)性改變的章:第1章 分布式系統(tǒng)的特征 重要材料的重構(gòu):新增1.2節(jié)和1.3.4節(jié)關(guān)于云計(jì)算的介紹第2章 系統(tǒng)模型 重要材料的重構(gòu):新增2.2節(jié),2.3節(jié)重寫以反映新書的內(nèi)容和相關(guān)的體系結(jié)構(gòu)觀點(diǎn)第4章 進(jìn)程間通信 幾處更新:客戶-服務(wù)器通信移到了第5章;新增4.5節(jié)(包括了關(guān)于Skype的實(shí)例研究);新增4.6節(jié);刪除了對UNIX的IPC的實(shí)例研究第5章 遠(yuǎn)程調(diào)用 重要材料的重構(gòu):客戶-服務(wù)器通信移到該章;介紹了從客戶-服務(wù)器通信到RPC以及RMI的發(fā)展;事件和通知移到了第6章增加了新內(nèi)容或刪除了內(nèi)容的章,但沒有結(jié)構(gòu)性改變:第3章 網(wǎng)絡(luò)和網(wǎng)際互連 幾處更新:3.5節(jié)刪除了ATM的材料第7章 操作系統(tǒng)支持 新增7.7節(jié)第9章 Web服務(wù) 9.2節(jié)新增了松耦合的討論第10章 對等系統(tǒng) 新增10.5.3節(jié)討論了非結(jié)構(gòu)化對等系統(tǒng)(包括了新的Gnutella實(shí)例研究)第15章 協(xié)調(diào)和協(xié)定 組通信的材料移到了第6章第18章 復(fù)制 組通信的材料移到了第6章第19章 移動(dòng)和無處不在計(jì)算 19.3.1節(jié)增加了元組空間(TOTA和L2imbo)的材料第20章 分布式多媒體系統(tǒng) 20.6節(jié)補(bǔ)充了新的實(shí)例研究,增加了BitTorrent和End System Multicast 剩下的章節(jié)僅做了少量的修改。 致謝 我們非常感謝下列參加了我們調(diào)查的教師:Guohong Cao、Jose Fortes、Bahram Khalili、George Blank、Jinsong Ouyang、JoAnne Holliday、George K.Thiruvathukal、Joel Wein、Tao Xie和Xiaobo Zhou。 我們要感謝下列審閱新章節(jié)或提供其他實(shí)質(zhì)性幫助的人:Rob Allen、Roberto Baldoni、John Bates、Tom Berson、Lynne Blair、Geoff Coulson、Paul Grace、Andrew Herbert、David Hutchison、Laurent Mathy、Rajiv Ramdhany、Richard Sharp、Jean-Bernard Stefani、Rip Sohan、Francois Taiani、Peter Triantafillou、Gareth Tyson和已故的Maurice Wikes先生。我們還要感謝Google的員工,他們的見解剖析了Google基礎(chǔ)設(shè)施的設(shè)計(jì)合理性,他們是:Mike Burrow、Tushar Chandra、Walfredo Cirne、Jeff Dean、Sanjay Ghemawat、Andrea Kirmse和John Reumann。
George Coulouris,倫敦大學(xué)皇后瑪利學(xué)院榮譽(yù)教授,劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室訪問教授。
Jean Dollimore,倫敦大學(xué)皇后瑪利學(xué)院的高級講師。 Tim Kindberg,matter 2 media創(chuàng)新技術(shù)公司創(chuàng)始人,Pervasive Media Studio研究主任,英國布里斯托爾和美國帕洛阿爾托惠普實(shí)驗(yàn)室高級研究員,英國巴斯大學(xué)計(jì)算機(jī)科學(xué)系訪問教授。 Gordon Blair,蘭卡斯特大學(xué)計(jì)算系分布式系統(tǒng)教授,挪威特羅姆瑟大學(xué)兼職教授。
Distributed Systems:Concepts and Design,F(xiàn)ifth Edition
出版者的話 譯者序 前言 第1章 分布式系統(tǒng)的特征 1.1 簡介 1.2 分布式系統(tǒng)的例子 1.2.1 Web搜索 1.2.2 大型多人在線游戲 1.2.3 金融交易 1.3 分布式系統(tǒng)的趨勢 1.3.1 泛在聯(lián)網(wǎng)和現(xiàn)代互聯(lián)網(wǎng) 1.3.2 移動(dòng)和無處不在計(jì)算 1.3.3 分布式多媒體系統(tǒng) 1.3.4 把分布式計(jì)算作為一個(gè)公共設(shè)施 1.4 關(guān)注資源共享 1.5 挑戰(zhàn) 1.5.1 異構(gòu)性 1.5.2 開放性 1.5.3 安全性 1.5.4 可伸縮性 1.5.5 故障處理 1.5.6 并發(fā)性 1.5.7 透明性 1.5.8 服務(wù)質(zhì)量 1.6 實(shí)例研究:萬維網(wǎng) 1.7 小結(jié) 練習(xí) 第2章 系統(tǒng)模型 2.1 簡介 2.2 物理模型 2.3 體系結(jié)構(gòu)模型 2.3.1 體系結(jié)構(gòu)元素 2.3.2 體系結(jié)構(gòu)模式 2.3.3 相關(guān)的中間件解決方案 2.4 基礎(chǔ)模型 2.4.1 交互模型 2.4.2 故障模型 2.4.3 安全模型 2.5 小結(jié) 練習(xí) 第3章 網(wǎng)絡(luò)和網(wǎng)際互連 3.1 簡介 3.2 網(wǎng)絡(luò)類型 3.3 網(wǎng)絡(luò)原理 3.3.1 數(shù)據(jù)包的傳輸 3.3.2 數(shù)據(jù)流 3.3.3 交換模式 3.3.4 協(xié)議 3.3.5 路由 3.3.6 擁塞控制 3.3.7 網(wǎng)際互連 3.4 互聯(lián)網(wǎng)協(xié)議 3.4.1 IP尋址 3.4.2 IP協(xié)議 3.4.3 IP路由 3.4.4 IPv 3.4.5 移動(dòng)IP 3.4.6 TCP和UDP 3.4.7 域名 3.4.8 防火墻 3.5 實(shí)例研究:以太網(wǎng)、WiFi、藍(lán)牙 3.5.1 以太網(wǎng) 3.5.2 IEEE 802.11無線LAN 3.5.3 IEEE 802.15.1藍(lán)牙無線PAN 3.6 小結(jié) 練習(xí) 第4章 進(jìn)程間通信 4.1 簡介 4.2 互聯(lián)網(wǎng)協(xié)議的API 4.2.1 進(jìn)程間通信的特征 4.2.2 套接字 4.2.3 UDP數(shù)據(jù)報(bào)通信 4.2.4 TCP流通信 4.3 外部數(shù)據(jù)表示和編碼 4.3.1 CORBA的公共數(shù)據(jù)表示 4.3.2 Java對象序列化 4.3.3 可擴(kuò)展標(biāo)記語言 4.3.4 遠(yuǎn)程對象引用 4.4 組播通信 4.4.1 IP組播--組播通信的實(shí)現(xiàn) 4.4.2 組播的可靠性和排序 4.5 網(wǎng)絡(luò)虛擬化:覆蓋網(wǎng)絡(luò) 4.5.1 覆蓋網(wǎng)絡(luò) 4.5.2 Skype:一個(gè)覆蓋網(wǎng)絡(luò)的例子 4.6 實(shí)例研究:MPI 4.7 小結(jié) 練習(xí) 第5章 遠(yuǎn)程調(diào)用 5.1 簡介 5.2 請求-應(yīng)答協(xié)議 5.3 遠(yuǎn)程過程調(diào)用 5.3.1 RPC的設(shè)計(jì)問題 5.3.2 RPC的實(shí)現(xiàn) 5.3.3 實(shí)例研究:Sun RPC 5.4 遠(yuǎn)程方法調(diào)用 5.4.1 RMI的設(shè)計(jì)問題 5.4.2 RMI的實(shí)現(xiàn) 5.4.3 分布式無用單元收集 5.5 實(shí)例研究:Java RMI 5.5.1 創(chuàng)建客戶和服務(wù)器程序 5.5.2 Java RMI的設(shè)計(jì)和實(shí)現(xiàn) 5.6 小結(jié) 練習(xí) 第6章 間接通信 6.1 簡介 6.2 組通信 6.2.1 編程模型 6.2.2 實(shí)現(xiàn)問題 6.2.3 實(shí)例研究:JGroups工具箱 6.3 發(fā)布-訂閱系統(tǒng) 6.3.1 編程模型 6.3.2 實(shí)現(xiàn)問題 6.3.3 發(fā)布-訂閱系統(tǒng)的例子 6.4 消息隊(duì)列 6.4.1 編程模型 6.4.2 實(shí)現(xiàn)問題 6.4.3 實(shí)例研究:Java消息服務(wù) 6.5 共享內(nèi)存的方式 6.5.1 分布式共享內(nèi)存 6.5.2 元組空間通信 6.6 小結(jié) 練習(xí) 第7章 操作系統(tǒng)支持 7.1 簡介 7.2 操作系統(tǒng)層 7.3 保護(hù) 7.4 進(jìn)程和線程 7.4.1 地址空間 7.4.2 新進(jìn)程的生成 7.4.3 線程 7.5 通信和調(diào)用 7.5.1 調(diào)用性能 7.5.2 異步操作 7.6 操作系統(tǒng)的體系結(jié)構(gòu) 7.7 操作系統(tǒng)層的虛擬化 7.7.1 系統(tǒng)虛擬化 7.7.2 實(shí)例研究:系統(tǒng)虛擬化的Xen方法 7.8 小結(jié) 練習(xí) 第8章 分布式對象和組件 8.1 簡介 8.2 分布式對象 8.3 實(shí)例研究:CORBA 8.3.1 CORBA RMI 8.3.2 CORBA的體系結(jié)構(gòu) 8.3.3 CORBA遠(yuǎn)程對象引用 8.3.4 CORBA服務(wù) 8.3.5 CORBA客戶和服務(wù)器實(shí)例 8.4 從對象到組件 8.5 實(shí)例研究:企業(yè)JavaBeans和Fractal 8.5.1 企業(yè)JavaBeans 8.5.2 Fractal 8.6 小結(jié) 練習(xí) 第9章 Web服務(wù) 9.1 簡介 9.2 Web服務(wù) 9.2.1 SOAP 9.2.2 Web服務(wù)與分布式對象模型的比較 9.2.3 在Java中使用SOAP 9.2.4 Web服務(wù)和CORBA的比較 9.3 Web服務(wù)的服務(wù)描述和接口定義語言 9.4 Web服務(wù)使用的目錄服務(wù) 9.5 XML安全性 9.6 Web服務(wù)的協(xié)作 9.7 Web服務(wù)的應(yīng)用 9.7.1 面向服務(wù)的體系結(jié)構(gòu) 9.7.2 網(wǎng)格 9.7.3 云計(jì)算 9.8 小結(jié) 練習(xí) 第10章 對等系統(tǒng) 10.1 簡介 10.2 Napster及其遺留系統(tǒng) 10.3 對等中間件 10.4 路由覆蓋 10.5 路由覆蓋實(shí)例研究:Pastry和Tapestry 10.5.1 Pastry 10.5.2 Tapestry 10.5.3 從結(jié)構(gòu)化對等方法到非結(jié)構(gòu)化對等方法 10.6 應(yīng)用實(shí)例研究:Squirrel、OceanStore和Ivy 10.6.1 Squirrel Web緩存 10.6.2 OceanStore文件存儲 10.6.3 Ivy文件系統(tǒng) 10.7 小結(jié) 練習(xí) 第11章 安全性 11.1 簡介 11.1.1 威脅和攻擊 11.1.2 保護(hù)電子事務(wù) 11.1.3 設(shè)計(jì)安全系統(tǒng) 11.2 安全技術(shù)概述 11.2.1 密碼學(xué) 11.2.2 密碼學(xué)的應(yīng)用 11.2.3 證書 11.2.4 訪問控制 11.2.5 憑證 11.2.6 防火墻 11.3 密碼算法 11.3.1 密鑰(對稱)算法 11.3.2 公鑰(不對稱)算法 11.3.3 混合密碼協(xié)議 11.4 數(shù)字簽名 11.4.1 公鑰數(shù)字簽名 11.4.2 密鑰數(shù)字簽名--MAC 11.4.3 安全摘要函數(shù) 11.4.4 證書標(biāo)準(zhǔn)和證書權(quán)威機(jī)構(gòu) 11.5 密碼實(shí)用學(xué) 11.5.1 密碼算法的性能 11.5.2 密碼學(xué)的應(yīng)用和政治障礙 11.6 實(shí)例研究:Needham-Schroeder、Kerberos、TLS和802.11 WiFi 11.6.1 Needham-Schroeder認(rèn)證協(xié)議 11.6.2 Kerberos 11.6.3 使用安全套接字確保電子交易安全 11.6.4 IEEE 802.11 WiFi安全設(shè)計(jì)中最初的缺陷 11.7 小結(jié) 練習(xí) 第12章 分布式文件系統(tǒng) 12.1 簡介 12.1.1 文件系統(tǒng)的特點(diǎn) 12.1.2 分布式文件系統(tǒng)的需求 12.1.3 實(shí)例研究 12.2 文件服務(wù)體系結(jié)構(gòu) 12.3 實(shí)例研究:SUN網(wǎng)絡(luò)文件系統(tǒng) 12.4 實(shí)例研究:Andrew文件系統(tǒng) 12.4.1 實(shí)現(xiàn) 12.4.2 緩存的一致性 12.4.3 其他方面 12.5 最新進(jìn)展 12.6 小結(jié) 練習(xí) 第13章 名字服務(wù) 13.1 簡介 13.2 名字服務(wù)和域名系統(tǒng) 13.2.1 名字空間 13.2.2 名字解析 13.2.3 域名系統(tǒng) 13.3 目錄服務(wù) 13.4 實(shí)例研究:全局名字服務(wù) 13.5 實(shí)例研究:X.500目錄服務(wù) 13.6 小結(jié) 練習(xí) 第14章 時(shí)間和全局狀態(tài) 14.1 簡介 14.2 時(shí)鐘、事件和進(jìn)程狀態(tài) 14.3 同步物理時(shí)鐘 14.3.1 同步系統(tǒng)中的同步 14.3.2 同步時(shí)鐘的Cristian方法 14.3.3 Berkeley算法 14.3.4 網(wǎng)絡(luò)時(shí)間協(xié)議 14.4 邏輯時(shí)間和邏輯時(shí)鐘 14.5 全局狀態(tài) 14.5.1 全局狀態(tài)和一致割集 14.5.2 全局狀態(tài)謂詞、穩(wěn)定性、安全性和活性 14.5.3 Chandy和Lamport的“快照”算法 14.6 分布式調(diào)試 14.6.1 收集狀態(tài) 14.6.2 觀察一致的全局狀態(tài) 14.6.3 判定可能的? 14.6.4 判定明確的? 14.6.5 在同步系統(tǒng)中判定可能的?和明確的? 14.7 小結(jié) 練習(xí) 第15章 協(xié)調(diào)和協(xié)定 15.1 簡介 15.2 分布式互斥 15.3 選舉 15.4 組通信中的協(xié)調(diào)與協(xié)定 15.4.1 基本組播 15.4.2 可靠組播 15.4.3 有序組播 15.5 共識和相關(guān)問題 15.5.1 系統(tǒng)模型和問題定義 15.5.2 同步系統(tǒng)中的共識問題 15.5.3 同步系統(tǒng)中的拜占庭將軍問題 15.5.4 異步系統(tǒng)的不可能性 15.6 小結(jié) 練習(xí) 第16章 事務(wù)和并發(fā)控制 16.1 簡介 16.1.1 簡單的同步機(jī)制(無事務(wù)) 16.1.2 事務(wù)的故障模型 16.2 事務(wù) 16.2.1 并發(fā)控制 16.2.2 事務(wù)放棄時(shí)的恢復(fù) 16.3 嵌套事務(wù) 16.4 鎖 16.4.1 死鎖 16.4.2 在加鎖機(jī)制中增加并發(fā)度 16.5 樂觀并發(fā)控制 16.6 時(shí)間戳排序 16.7 并發(fā)控制方法的比較 16.8 小結(jié) 練習(xí) 第17章 分布式事務(wù) 17.1 簡介 17.2 平面分布式事務(wù)和嵌套分布式事務(wù) 17.3 原子提交協(xié)議 17.3.1 兩階段提交協(xié)議 17.3.2 嵌套事務(wù)的兩階段提交協(xié)議 17.4 分布式事務(wù)的并發(fā)控制 17.4.1 加鎖 17.4.2 時(shí)間戳并發(fā)控制 17.4.3 樂觀并發(fā)控制 17.5 分布式死鎖 17.6 事務(wù)恢復(fù) 17.6.1 日志 17.6.2 影子版本 17.6.3 為何恢復(fù)文件需要事務(wù)狀態(tài)和意圖列表 17.6.4 兩階段提交協(xié)議的恢復(fù) 17.7 小結(jié) 練習(xí) 第18章 復(fù)制 18.1 簡介 18.2 系統(tǒng)模型和組通信的作用 18.2.1 系統(tǒng)模型 18.2.2 組通信的作用 18.3 容錯(cuò)服務(wù) 18.3.1 被動(dòng)(主備份)復(fù)制 18.3.2 主動(dòng)復(fù)制 18.4 高可用服務(wù)的實(shí)例研究:閑聊體系結(jié)構(gòu)、Bayou和Coda 18.4.1 閑聊體系結(jié)構(gòu) 18.4.2 Bayou系統(tǒng)和操作變換方法 18.4.3 Coda文件系統(tǒng) 18.5 復(fù)制數(shù)據(jù)上的事務(wù) 18.5.1 復(fù)制事務(wù)的體系結(jié)構(gòu) 18.5.2 可用拷貝復(fù)制 18.5.3 網(wǎng)絡(luò)分區(qū) 18.5.4 帶驗(yàn)證的可用拷貝 18.5.5 法定數(shù)共識方法 18.5.6 虛擬分區(qū)算法 18.6 小結(jié) 練習(xí) 第19章 移動(dòng)和無處不在計(jì)算 19.1 簡介 19.2 關(guān)聯(lián) 19.2.1 發(fā)現(xiàn)服務(wù) 19.2.2 物理關(guān)聯(lián) 19.2.3 小結(jié)和前景 19.3 互操作 19.3.1 易變系統(tǒng)的面向數(shù)據(jù)編程 19.3.2 間接關(guān)聯(lián)和軟狀態(tài) 19.3.3 小結(jié)和前景 19.4 感知和上下文敏感 19.4.1 傳感器 19.4.2 感知體系結(jié)構(gòu) 19.4.3 位置感知 19.4.4 小結(jié)和前景 19.5 安全性和私密性 19.5.1 背景 19.5.2 一些解決辦法 19.5.3 小結(jié)和前景 19.6 自適應(yīng) 19.6.1 內(nèi)容的上下文敏感自適應(yīng) 19.6.2 適應(yīng)變化的系統(tǒng)資源 19.6.3 小結(jié)和前景 19.7 實(shí)例研究:Cooltown 19.7.1 Web存在 19.7.2 物理超鏈接 19.7.3 互操作和eSquirt協(xié)議 19.7.4 小結(jié)和前景 19.8 小結(jié) 練習(xí) 第20章 分布式多媒體系統(tǒng) 20.1 簡介 20.2 多媒體數(shù)據(jù)的特征 20.3 服務(wù)質(zhì)量管理 20.3.1 服務(wù)質(zhì)量協(xié)商 20.3.2 許可控制 20.4 資源管理 20.5 流自適應(yīng) 20.5.1 調(diào)整 20.5.2 過濾 20.6 實(shí)例研究:Tiger視頻文件服務(wù)器、BitTorrent和端系統(tǒng)多播 20.6.1 Tiger視頻文件服務(wù)器 20.6.2 BitTorrent 20.6.3 端系統(tǒng)多播 20.7 小結(jié) 練習(xí) 第21章 分布式系統(tǒng)設(shè)計(jì):Google實(shí)例研究 21.1 簡介 21.2 實(shí)例研究簡介:Google 21.3 總體結(jié)構(gòu)和設(shè)計(jì)理念 21.3.1 物理模型 21.3.2 總的系統(tǒng)體系結(jié)構(gòu) 21.4 底層通信范型 21.4.1 遠(yuǎn)程調(diào)用 21.4.2 發(fā)布-訂閱 21.4.3 通信的關(guān)鍵設(shè)計(jì)選擇總結(jié) 21.5 數(shù)據(jù)存儲和協(xié)調(diào)服務(wù) 21.5.1 Google文件系統(tǒng) 21.5.2 Chubby 21.5.3 Bigtable 21.5.4 關(guān)鍵設(shè)計(jì)選擇總結(jié) 21.6 分布式計(jì)算服務(wù) 21.6.1 MapReduce 21.6.2 Sawzall 21.6.3 關(guān)鍵設(shè)計(jì)選擇總結(jié) 21.7 小結(jié) 練習(xí) 參考文獻(xiàn) 索引
第1章 分布式系統(tǒng)的特征
第1章 分布式系統(tǒng)的特征第1章Distributed Systems:Concepts and Design,F(xiàn)ifth Edition分布式系統(tǒng)的特征第1章 分布式系統(tǒng)的特征分布式系統(tǒng)是其組件分布在連網(wǎng)的計(jì)算機(jī)上,組件之間通過傳遞消息進(jìn)行通信和動(dòng)作協(xié)調(diào)的系統(tǒng)。該定義引出了分布式系統(tǒng)的下列重要特征:組件的并發(fā)性、缺乏全局時(shí)鐘、組件故障的獨(dú)立性。 我們看一下現(xiàn)代分布式系統(tǒng)的幾個(gè)例子,包括Web搜索、多人在線游戲和金融交易系統(tǒng),也考察今天推動(dòng)分布式系統(tǒng)發(fā)展的關(guān)鍵趨勢:現(xiàn)代網(wǎng)絡(luò)的泛在特性,移動(dòng)和無處不在計(jì)算的出現(xiàn),分布式多媒體系統(tǒng)不斷增加的重要性,以及把分布式系統(tǒng)看成一種實(shí)用系統(tǒng)的趨勢。接著本章強(qiáng)調(diào)資源共享是構(gòu)造分布式系統(tǒng)的主要?jiǎng)訖C(jī)。資源可以被服務(wù)器管理,由客戶訪問,或者它們被封裝成對象,由其他客戶對象訪問。 構(gòu)造分布式系統(tǒng)的挑戰(zhàn)是處理其組件的異構(gòu)性、開放性(允許增加或替換組件)、安全性、可伸縮性(用戶的負(fù)載或數(shù)量增加時(shí)能正常運(yùn)行的能力)、故障處理、組件的并發(fā)性、透明性和提供服務(wù)質(zhì)量的問題。最后,以Web作為一個(gè)大規(guī)模分布式系統(tǒng)的例子進(jìn)行了討論,并介紹了它的主要特征。 1.1 簡介 計(jì)算機(jī)網(wǎng)絡(luò)無處不在;ヂ(lián)網(wǎng)也是其中之一,因?yàn)樗怯稍S多種網(wǎng)絡(luò)組成的。移動(dòng)電話網(wǎng)、協(xié)作網(wǎng)、企業(yè)網(wǎng)、校園網(wǎng)、家庭網(wǎng)、車內(nèi)網(wǎng),所有這些,既可單獨(dú)使用,又可相互結(jié)合,它們具有相同的本質(zhì)特征,這些特征使得它們可以放在分布式系統(tǒng)的主題下來研究。本書旨在解釋影響系統(tǒng)設(shè)計(jì)者和實(shí)現(xiàn)者的連網(wǎng)的計(jì)算機(jī)的特征,給出已有的可幫助完成設(shè)計(jì)和實(shí)現(xiàn)分布式系統(tǒng)任務(wù)的主要概念和技術(shù)。 我們把分布式系統(tǒng)定義成一個(gè)其硬件或軟件組件分布在連網(wǎng)的計(jì)算機(jī)上,組件之間通過傳遞消息進(jìn)行通信和動(dòng)作協(xié)調(diào)的系統(tǒng)。這個(gè)簡單的定義覆蓋了所有可有效部署連網(wǎng)計(jì)算機(jī)的系統(tǒng)。 由一個(gè)網(wǎng)絡(luò)連接的計(jì)算機(jī)可能在空間上的距離不等。它們可能分布在地球上不同的洲,也可能在同一棟樓或同一個(gè)房間里。我們定義的分布式系統(tǒng)有如下顯著特征: 并發(fā):在一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中,執(zhí)行并發(fā)程序是常見的行為。用戶可以在各自的計(jì)算機(jī)上工作,在必要時(shí)共享諸如Web頁面或文件之類的資源。系統(tǒng)處理共享資源的能力會隨著網(wǎng)絡(luò)資源(例如,計(jì)算機(jī))的增加而提高。在本書的許多地方將描述有效部署這種額外能力的方法。對共享資源的并發(fā)執(zhí)行程序的協(xié)調(diào)也是一個(gè)重要和重復(fù)提及的主題。 缺乏全局時(shí)鐘:在程序需要協(xié)作時(shí),它們通過交換消息來協(xié)調(diào)它們的動(dòng)作。密切的協(xié)作通常取決于對程序動(dòng)作發(fā)生的時(shí)間的共識。但是,事實(shí)證明,網(wǎng)絡(luò)上的計(jì)算機(jī)與時(shí)鐘同步所達(dá)到的準(zhǔn)確性是有限的,即沒有一個(gè)正確時(shí)間的全局概念。這是通信僅僅是通過網(wǎng)絡(luò)發(fā)送消息這個(gè)事實(shí)帶來的直接結(jié)果。定時(shí)問題和它們的解決方案將在第14章描述。 故障獨(dú)立性:所有的計(jì)算機(jī)系統(tǒng)都可能出故障,一般由系統(tǒng)設(shè)計(jì)者負(fù)責(zé)為可能的故障設(shè)計(jì)結(jié)果。分布式系統(tǒng)可能以新的方式出現(xiàn)故障。網(wǎng)絡(luò)故障導(dǎo)致網(wǎng)上互連的計(jì)算機(jī)的隔離,但這并不意味著它們停止運(yùn)行,事實(shí)上,計(jì)算機(jī)上的程序不能夠檢測到網(wǎng)絡(luò)是出現(xiàn)故障還是網(wǎng)絡(luò)運(yùn)行得比通常慢。類似的,計(jì)算機(jī)的故障或系統(tǒng)中程序的異常終止(崩潰),并不能馬上使與它通信的其他組件了解。系統(tǒng)的每個(gè)組件會單獨(dú)地出現(xiàn)故障,而其他組件還在運(yùn)行。分布式系統(tǒng)的這個(gè)特征所帶來的后果將是貫穿本書的一個(gè)反復(fù)提及的主題。 ……
你還可能感興趣
我要評論
|