分布式系统

出版时间:2013-3  出版社:机械工业出版社  作者:(英)George Coulouris,Jean Dollimore,Tim Kindberg,Gordon Blair  译者:金蓓弘,马应龙  
Tag标签:无  

前言

前言Distributed Systems:Concepts and Design,Fifth Edition在互联网和Web持续发展并且对我们社会的每个方面都产生影响的时候,这本教材的第5版问世了。本书的介绍性章节提到互联网和Web对诸多(如金融、商业、艺术、娱乐等)应用领域的影响以及对信息社会的普遍影响。它还强调了诸如Web搜索和多人在线游戏等应用领域中的需求。从分布式系统的角度出发,这些开发在应用的范围、多个现代系统所支持的工作负载和系统大小等方面正在对底层系统架构提出实质性的新需求。重要的趋势包括网络技术上不断增加的多样性和普遍性(包括不断增加的无线网络的重要性)、移动和无处不在计算元素及分布式系统架构的集成(这导致了相当不同的物理体系结构),还包括支持多媒体服务的需求和云计算模式的出现,这些都对分布式系统服务的观点提出了挑战。本书旨在提供对互联网和其他分布式系统原理的理解,提供这些系统的体系结构、算法和设计,展示它们如何满足当代分布式应用的需求。本书的前7章覆盖分布式系统研究的基础部分。前两章提供对主题的概念性概述,介绍了分布式系统的特征和在系统设计中所必须解决的挑战:最重要的可伸缩性、异构性、安全性和故障处理。这两章还开发了用于理解交互过程、故障和安全性的抽象模型。随后是其他基础性章节,这些章节介绍了网络研究、进程间通信、远程调用、间接通信和操作系统支持。后续的章节涉及中间件这个重要的主题,考察了支持分布式应用的不同的方法,包括分布式对象和组件、Web服务和对等解决方案。接下来的章节涉及安全、分布式文件系统和分布式命名系统这些已被完善的主题,然后介绍了与数据相关的重要方面(包括分布式事务和数据复制)。与这些主题相关的算法也在它们出现时被论及,或者在专门论述定时、协调和协定等单独的章节中介绍。本书接着论述移动和无处不在计算以及分布式多媒体系统这些新出现的领域,然后给出了一个内容充实的实例研究,从搜索功能和由Google提供的不断扩展的附加服务(例如,Gmail和Google Earth)两个角度,关注支持Google的分布式系统基础设施的设计和实现。最后一章综述了本书所介绍的所有这些体系结构概念、算法和技术,诠释了如何在一个给定应用领域的整体设计中将这些内容组织在一起。第5版新增部分新的章节间接通信(第6章),包括组通信、发布-订阅,对JavaSpaces、JMS、WebSphere和Message Queues的实例研究。分布式对象和组件(第8章),包括基于组件的中间件和对企业版JavaBeans、Fractal和CORBA的实例研究。分布式系统设计:Google实例研究(第21章),专门针对Google基础设施的新的大的实例研究。新增到其他章节中的主题 云计算、网络虚拟化、操作系统虚拟化、消息传递接口、无结构的P2P、元组空间、与Web服务相关的松耦合。其他新的实例研究 Skype、Gnutella、TOTA、L2imbo、BitTorrent、End System Multicast。关于内容更新的更详细的情况,参见Ⅷ页中的表。目的和读者群本书可用做本科生教材和研究生的入门教材,也可作为自学教材。本书采用自顶向下的方法,首先叙述在分布式系统设计中要解决的问题,然后,通过抽象模型、算法和对广泛使用的系统进行详细的实例研究,描述成功开发系统的方法。本书覆盖的领域有足够的深度和广度,以便读者能继续研究分布式系统文献中大多数的研究论文。本书针对具有面向对象编程、操作系统、初级计算机体系结构等基础知识的学生。本书覆盖与分布式系统有关的计算机网络,包括互联网、广域网、局域网和无线网的基本技术。本书中的算法和接口大部分用Java描述,小部分用ANSI C描述。为了表述上的简洁明了,还使用一种从Java/C派生出来的伪码。本书的组织下图显示的本书章节可归在7个主要的主题领域。该图提供了本书的结构指南,也为教师、读者提供了一个导航路径,以便于他们理解分布式系统设计中的不同子领域。参考文献万维网的存在改变了书(例如本书)与源材料(包括研究论文、技术规约和标准)的链接方式。许多源文件现在可从Web上获取,有一些甚至只能从Web上获得。出于简洁和可读性的考虑,本书对Web参考材料采用了一种特殊的格式,类似URL参考文献,诸如[www.omg.org]和[www.rsasecurity.com I]的参考文献指的是仅能从Web上获得的文档。在本书结尾的参考文献清单中可以找到它们,但是完整的URL仅在本书参考文献的联机版本(www.cdk5.net/refs)上给出。两个版本的参考文献都有对这种机制的详细解释。与第4版相关的改变在开始新版本写作之前,我们针对使用第4版的教师做了一个调查,并根据调查结果识别出所需要的新材料和需要做的修改。此外,我们认识到不断增加的分布式系统的多样性,特别是从当前可用于分布式系统开发者的体系结构方法的范围来说。这些都要求本书做重要的改变,特别是前面(基础性)的章节。总之,这些使得我们编写了全新的3章,对其他一些章节做了实质性的修改,并在书中多处补充了新的内容。对许多章节进行了改变以反映所描述系统的新的、可用的信息。这些修改总结在下面的表格中。为了帮助已使用过第4版的教师,只要可能,我们就保留了前一版本采用的结构。对于已被删除的材料,我们把它放在与书配套的Web网站上,并与以前版本中被删除的材料放在一起。这些被删除的材料包括关于ATM的实例研究、UNIX中的进程间通信、CORBA(其精减的版本仍然保留在第8章中)、Jini分布式事件规约和(以OGSA和Globus工具集为特色的)网格中间件,以及关于分布式共享内存的章节(对它的简明总结现在被包含在第6章中)。在本书的一些章节中,例如新的关于间接通信的章节(第6章)包含了许多材料。教师在选择2~3项技术做详细的讲解之前可以选择广泛的内容(例如,组通信,假定它的基本角色,以及发布-订阅或消息队列,假定它们在商业分布式系统中的盛行)。章节的顺序已经修改以容纳新的材料,并反映对某些主题相对重要性的改变。为了完全理解某些主题,读者可能发现附带一个参考文献是必要的。例如,如果第9章引用的第11章安全的章节被理解,那么第9章关于XML安全技术的内容可以被更好地理解。本书结构变动如下表所示:新增的章:第6章 间接通信 包括了第4版的事件和通知第8章 分布式对象和组件 全部包括了来自第4版的CORBA实例研究第21章 分布式系统设计:Google实例研究 包含一个新的关于Google的大的实例研究有实质性改变的章:第1章 分布式系统的特征 重要材料的重构:新增1.2节和1.3.4节关于云计算的介绍第2章 系统模型重要材料的重构:新增2.2节,2.3节重写以反映新书的内容和相关的体系结构观点第4章 进程间通信几处更新:客户-服务器通信移到了第5章;新增4.5节(包括了关于Skype的实例研究);新增4.6节;删除了对UNIX的IPC的实例研究第5章 远程调用重要材料的重构:客户-服务器通信移到该章;介绍了从客户-服务器通信到RPC以及RMI的发展;事件和通知移到了第6章增加了新内容或删除了内容的章,但没有结构性改变:第3章 网络和网际互连 几处更新:3.5节删除了ATM的材料第7章 操作系统支持 新增7.7节第9章 Web服务 9.2节新增了松耦合的讨论第10章 对等系统 新增10.5.3节讨论了非结构化对等系统(包括了新的Gnutella实例研究)第15章 协调和协定 组通信的材料移到了第6章第18章 复制 组通信的材料移到了第6章第19章 移动和无处不在计算 19.3.1节增加了元组空间(TOTA和L2imbo)的材料第20章 分布式多媒体系统 20.6节补充了新的实例研究,增加了BitTorrent和End System Multicast剩下的章节仅做了少量的修改。致谢我们非常感谢下列参加了我们调查的教师:Guohong Cao、Jose Fortes、Bahram Khalili、George Blank、Jinsong Ouyang、JoAnne Holliday、George K.Thiruvathukal、Joel Wein、Tao Xie和Xiaobo Zhou。我们要感谢下列审阅新章节或提供其他实质性帮助的人: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基础设施的设计合理性,他们是:Mike Burrow、Tushar Chandra、Walfredo Cirne、Jeff Dean、Sanjay Ghemawat、Andrea Kirmse和John Reumann。这本书的编辑Rachel Head也提供了重要的支持。Web站点和以前一样,我们在一个Web站点中提供了大量的材料,用于帮助教师和读者。读者可通过URL访问该网站:www.cdk5.net。该Web网站包括:教师指导 我们为教师提供下列辅助性材料:本书全部的插图(以PowerPoint文件的方式);按章给出的教学提示;练习的答案(有口令保护,仅对教师开放)。参考文献清单 本书结尾处的参考文献清单也可在Web网站上找到。参考文献清单的Web版本包含可联机获得的材料的Web链接。勘误表 给出书中的错误和改正清单。错误在本书重印时被更正,针对每次印刷提供一个单独的勘误表。(鼓励读者报告遇到的任何明显的错误到下面的电子邮件地址。)补充材料 我们为每一章提供一套补充材料。包括书中程序的源代码和相关的阅读材料,主要是本书上一版本有的但在本版本中因篇幅的缘故而被删除的材料,该类补充材料在本书中用类似www.cdk5.net/ipc(该URL提供与第4章“进程间通信”相关的补充材料)的链接表示。第4版的两个完整的章在新版中不再出现,它们可以在下面的URL处找到:CORBA实例研究:www.cdk5.net/corba。分布式共享内存:www.cdk5.net/dsm。George CoulourisJean DollimoreTim KindbergGordon Blair伦敦,布里斯托尔,兰开斯特,2011

内容概要

从移动电话到互联网,我们的生活越来越依赖于以无缝和透明的方式将计算机和其他设备链接在一起的分布式系统。本书全面介绍分布式系统的设计原理和实践及其最新进展,并使用大量最新的实例研究来阐明分布式系统的设计与开发方法。
本书前几版已被爱丁堡大学、伊利诺伊大学、卡内基-梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗切斯特理工学院、北京大学等众多名校选用为教材。第5版在上一版的基础上,新增了三章内容,分别介绍间接通信、分布式对象和组件、分布式系统设计(以Google为例)。
本书网站www.cdk5.net为学生和教师提供了丰富的学习资源和教学资源(源代码、参考文献、教学幻灯片、勘误等)。

作者简介

作者:(英国)George Coulouris (英国)Jean Dollimore (英国)Tim Kindberg (英国)Gordon Blair 译者:金蓓弘 马应龙George Coulouris,伦敦大学皇后玛利学院荣誉教授,剑桥大学计算机实验室访问教授。Jean Dollimore,伦敦大学皇后玛利学院的高级讲师。Tim Kindberg,matter 2 media创新技术公司创始人,Pervasive Media Studio研究主任,英国布里斯托尔和美国帕洛阿尔托惠普实验室高级研究员,英国巴斯大学计算机科学系访问教授。Gordon Blair,兰卡斯特大学计算系分布式系统教授,挪威特罗姆瑟大学兼职教授。

书籍目录

出版者的话译者序前言第1章 分布式系统的特征11.1 简介11.2 分布式系统的例子21.2.1 Web搜索21.2.2 大型多人在线游戏31.2.3 金融交易31.3 分布式系统的趋势41.3.1 泛在联网和现代互联网51.3.2 移动和无处不在计算51.3.3 分布式多媒体系统71.3.4 把分布式计算作为一个公共设施71.4 关注资源共享81.5 挑战91.5.1 异构性91.5.2 开放性101.5.3 安全性111.5.4 可伸缩性111.5.5 故障处理121.5.6 并发性131.5.7 透明性141.5.8 服务质量151.6 实例研究:万维网151.7 小结20练习20第2章 系统模型222.1 简介222.2 物理模型232.3 体系结构模型242.3.1 体系结构元素242.3.2 体系结构模式302.3.3 相关的中间件解决方案342.4 基础模型362.4.1 交互模型362.4.2 故障模型392.4.3 安全模型412.5 小结44练习45第3章 网络和网际互连463.1 简介463.2 网络类型483.3 网络原理503.3.1 数据包的传输503.3.2 数据流503.3.3 交换模式513.3.4 协议523.3.5 路由553.3.6 拥塞控制573.3.7 网际互连583.4 互联网协议603.4.1 IP寻址623.4.2 IP协议633.4.3 IP路由643.4.4 IPv6673.4.5 移动IP693.4.6 TCP和UDP703.4.7 域名713.4.8 防火墙723.5 实例研究:以太网、WiFi、蓝牙743.5.1 以太网753.5.2 IEEE 802.11无线LAN783.5.3 IEEE 802.15.1蓝牙无线PAN793.6 小结81练习81第4章 进程间通信834.1 简介834.2 互联网协议的API844.2.1 进程间通信的特征844.2.2 套接字854.2.3 UDP数据报通信854.2.4 TCP流通信884.3 外部数据表示和编码914.3.1 CORBA的公共数据表示924.3.2 Java对象序列化934.3.3 可扩展标记语言944.3.4 远程对象引用974.4 组播通信984.4.1 IP组播——组播通信的实现984.4.2 组播的可靠性和排序1004.5 网络虚拟化:覆盖网络1014.5.1 覆盖网络1014.5.2 Skype:一个覆盖网络的例子1024.6 实例研究:MPI1034.7 小结104练习105第5章 远程调用1075.1 简介1075.2 请求-应答协议1075.3 远程过程调用1125.3.1 RPC的设计问题1135.3.2 RPC的实现1155.3.3 实例研究:Sun RPC1165.4 远程方法调用1185.4.1 RMI的设计问题1185.4.2 RMI的实现1215.4.3 分布式无用单元收集1245.5 实例研究:Java RMI1255.5.1 创建客户和服务器程序1275.5.2 Java RMI的设计和实现1305.6 小结130练习131第6章 间接通信1336.1 简介1336.2 组通信1346.2.1 编程模型1356.2.2 实现问题1366.2.3 实例研究:JGroups工具箱1386.3 发布-订阅系统1406.3.1 编程模型1426.3.2 实现问题1436.3.3 发布-订阅系统的例子1466.4 消息队列1466.4.1 编程模型1476.4.2 实现问题1486.4.3 实例研究:Java消息服务1496.5 共享内存的方式1526.5.1 分布式共享内存1526.5.2 元组空间通信1536.6 小结159练习161第7章 操作系统支持1627.1 简介1627.2 操作系统层1637.3 保护1647.4 进程和线程1657.4.1 地址空间1667.4.2 新进程的生成1677.4.3 线程1697.5 通信和调用1767.5.1 调用性能1777.5.2 异步操作1817.6 操作系统的体系结构1837.7 操作系统层的虚拟化1857.7.1 系统虚拟化1867.7.2 实例研究:系统虚拟化的Xen方法1867.8 小结193练习194第8章 分布式对象和组件1968.1 简介1968.2 分布式对象1978.3 实例研究:CORBA1988.3.1 CORBA RMI1998.3.2 CORBA的体系结构2038.3.3 CORBA远程对象引用2058.3.4 CORBA服务2068.3.5 CORBA客户和服务器实例2068.4 从对象到组件2098.5 实例研究:企业JavaBeans和Fractal2128.5.1 企业JavaBeans2138.5.2 Fractal2178.6 小结220练习220第9章 Web服务2229.1 简介2229.2 Web服务2239.2.1 SOAP2259.2.2 Web服务与分布式对象模型的比较2289.2.3 在Java中使用SOAP2299.2.4 Web服务和CORBA的比较2329.3 Web服务的服务描述和接口定义语言2339.4 Web服务使用的目录服务2359.5 XML安全性2379.6 Web服务的协作2399.7 Web服务的应用2419.7.1 面向服务的体系结构2419.7.2 网格2419.7.3 云计算2439.8 小结244练习245第10章 对等系统24710.1 简介24710.2 Napster及其遗留系统25010.3 对等中间件25110.4 路由覆盖25210.5 路由覆盖实例研究:Pastry和Tapestry25410.5.1 Pastry25410.5.2 Tapestry26010.5.3 从结构化对等方法到非结构化对等方法26010.6 应用实例研究:Squirrel、OceanStore和Ivy26210.6.1 Squirrel Web缓存26310.6.2 OceanStore文件存储26410.6.3 Ivy文件系统26710.7 小结269练习269第11章 安全性27111.1 简介27111.1.1 威胁和攻击27211.1.2 保护电子事务27411.1.3 设计安全系统27511.2 安全技术概述27611.2.1 密码学27711.2.2 密码学的应用27711.2.3 证书27911.2.4 访问控制28011.2.5 凭证28211.2.6 防火墙28311.3 密码算法28311.3.1 密钥(对称)算法28511.3.2 公钥(不对称)算法28811.3.3 混合密码协议28911.4 数字签名28911.4.1 公钥数字签名29011.4.2 密钥数字签名——MAC29111.4.3 安全摘要函数29111.4.4 证书标准和证书权威机构29211.5 密码实用学29311.5.1 密码算法的性能29311.5.2 密码学的应用和政治障碍29411.6 实例研究:Needham-Schroeder、Kerberos、TLS和802.11 WiFi29511.6.1 Needham-Schroeder认证协议29511.6.2 Kerberos29611.6.3 使用安全套接字确保电子交易安全30011.6.4 IEEE 802.11 WiFi安全设计中最初的缺陷30211.7 小结303练习304第12章 分布式文件系统30512.1 简介30512.1.1 文件系统的特点30712.1.2 分布式文件系统的需求30812.1.3 实例研究30912.2 文件服务体系结构31012.3 实例研究:SUN网络文件系统31312.4 实例研究:Andrew文件系统32112.4.1 实现32212.4.2 缓存的一致性32412.4.3 其他方面32612.5 最新进展32712.6 小结330练习331第13章 名字服务33213.1 简介33213.2 名字服务和域名系统33413.2.1 名字空间33513.2.2 名字解析33713.2.3 域名系统33913.3 目录服务34413.4 实例研究:全局名字服务34413.5 实例研究:X.500目录服务34613.6 小结349练习349第14章 时间和全局状态35114.1 简介35114.2 时钟、事件和进程状态35214.3 同步物理时钟35314.3.1 同步系统中的同步35414.3.2 同步时钟的Cristian方法35414.3.3 Berkeley算法35514.3.4 网络时间协议35514.4 逻辑时间和逻辑时钟35714.5 全局状态35914.5.1 全局状态和一致割集36014.5.2 全局状态谓词、稳定性、安全性和活性36214.5.3 Chandy和Lamport的“快照”算法36214.6 分布式调试36514.6.1 收集状态36614.6.2 观察一致的全局状态36614.6.3 判定可能的36714.6.4 判定明确的36814.6.5 在同步系统中判定可能的和明确的36914.7 小结369练习369第15章 协调和协定37115.1 简介37115.2 分布式互斥37315.3 选举37715.4 组通信中的协调与协定38015.4.1 基本组播38115.4.2 可靠组播38115.4.3 有序组播38315.5 共识和相关问题38815.5.1 系统模型和问题定义38915.5.2 同步系统中的共识问题39115.5.3 同步系统中的拜占庭将军问题39215.5.4 异步系统的不可能性39415.6 小结395练习396第16章 事务和并发控制39816.1 简介39816.1.1 简单的同步机制(无事务)39916.1.2 事务的故障模型40016.2 事务40016.2.1 并发控制40216.2.2 事务放弃时的恢复40516.3 嵌套事务40616.4 锁40816.4.1 死锁41316.4.2 在加锁机制中增加并发度41516.5 乐观并发控制41716.6 时间戳排序41916.7 并发控制方法的比较42316.8 小结425练习425第17章 分布式事务42917.1 简介42917.2 平面分布式事务和嵌套分布式事务42917.3 原子提交协议43117.3.1 两阶段提交协议43217.3.2 嵌套事务的两阶段提交协议43417.4 分布式事务的并发控制43717.4.1 加锁43717.4.2 时间戳并发控制43717.4.3 乐观并发控制43817.5 分布式死锁43917.6 事务恢复44417.6.1 日志44517.6.2 影子版本44617.6.3 为何恢复文件需要事务状态和意图列表44717.6.4 两阶段提交协议的恢复44817.7 小结450练习450第18章 复制45318.1 简介45318.2 系统模型和组通信的作用45418.2.1 系统模型45518.2.2 组通信的作用45618.3 容错服务45918.3.1 被动(主备份)复制46118.3.2 主动复制46218.4 高可用服务的实例研究:闲聊体系结构、Bayou和Coda46318.4.1 闲聊体系结构46418.4.2 Bayou系统和操作变换方法46918.4.3 Coda文件系统47118.5 复制数据上的事务47518.5.1 复制事务的体系结构47618.5.2 可用拷贝复制47718.5.3 网络分区47918.5.4 带验证的可用拷贝47918.5.5 法定数共识方法48018.5.6 虚拟分区算法48118.6 小结483练习484第19章 移动和无处不在计算48619.1 简介48619.2 关联49119.2.1 发现服务49219.2.2 物理关联49519.2.3 小结和前景49619.3 互操作49719.3.1 易变系统的面向数据编程49719.3.2 间接关联和软状态50019.3.3 小结和前景50119.4 感知和上下文敏感50119.4.1 传感器50219.4.2 感知体系结构50219.4.3 位置感知50619.4.4 小结和前景50919.5 安全性和私密性51019.5.1 背景51019.5.2 一些解决办法51119.5.3 小结和前景51519.6 自适应51519.6.1 内容的上下文敏感自适应51519.6.2 适应变化的系统资源51719.6.3 小结和前景51819.7 实例研究:Cooltown51819.7.1 Web存在51919.7.2 物理超链接52019.7.3 互操作和eSquirt协议52119.7.4 小结和前景52219.8 小结523练习523第20章 分布式多媒体系统52520.1 简介52520.2 多媒体数据的特征52720.3 服务质量管理52820.3.1 服务质量协商53120.3.2 许可控制53420.4 资源管理53420.5 流自适应53520.5.1 调整53620.5.2 过滤53620.6 实例研究:Tiger视频文件服务器、BitTorrent和端系统多播53720.6.1 Tiger视频文件服务器53720.6.2 BitTorrent54020.6.3 端系统多播54120.7 小结544练习544第21章 分布式系统设计:Google实例研究54621.1 简介54621.2 实例研究简介:Google54721.3 总体结构和设计理念55021.3.1 物理模型55021.3.2 总的系统体系结构55121.4 底层通信范型55321.4.1 远程调用55421.4.2 发布-订阅55621.4.3 通信的关键设计选择总结55721.5 数据存储和协调服务55721.5.1 Google文件系统55721.5.2 Chubby56121.5.3 Bigtable56521.5.4 关键设计选择总结57021.6 分布式计算服务57121.6.1 MapReduce57121.6.2 Sawzall57421.6.3 关键设计选择总结57521.7 小结576练习576参考文献578索引615

章节摘录

第1章 分布式系统的特征分布式系统是其组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统。该定义引出了分布式系统的下列重要特征:组件的并发性、缺乏全局时钟、组件故障的独立性。我们看一下现代分布式系统的几个例子,包括Web搜索、多人在线游戏和金融交易系统,也考察今天推动分布式系统发展的关键趋势:现代网络的泛在特性,移动和无处不在计算的出现,分布式多媒体系统不断增加的重要性,以及把分布式系统看成一种实用系统的趋势。接着本章强调资源共享是构造分布式系统的主要动机。资源可以被服务器管理,由客户访问,或者它们被封装成对象,由其他客户对象访问。构造分布式系统的挑战是处理其组件的异构性、开放性(允许增加或替换组件)、安全性、可伸缩性(用户的负载或数量增加时能正常运行的能力)、故障处理、组件的并发性、透明性和提供服务质量的问题。最后,以Web作为一个大规模分布式系统的例子进行了讨论,并介绍了它的主要特征。1.1 简介计算机网络无处不在。互联网也是其中之一,因为它是由许多种网络组成的。移动电话网、协作网、企业网、校园网、家庭网、车内网,所有这些,既可单独使用,又可相互结合,它们具有相同的本质特征,这些特征使得它们可以放在分布式系统的主题下来研究。本书旨在解释影响系统设计者和实现者的连网的计算机的特征,给出已有的可帮助完成设计和实现分布式系统任务的主要概念和技术。我们把分布式系统定义成一个其硬件或软件组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统。这个简单的定义覆盖了所有可有效部署连网计算机的系统。由一个网络连接的计算机可能在空间上的距离不等。它们可能分布在地球上不同的洲,也可能在同一栋楼或同一个房间里。我们定义的分布式系统有如下显著特征:并发:在一个计算机网络中,执行并发程序是常见的行为。用户可以在各自的计算机上工作,在必要时共享诸如Web页面或文件之类的资源。系统处理共享资源的能力会随着网络资源(例如,计算机)的增加而提高。在本书的许多地方将描述有效部署这种额外能力的方法。对共享资源的并发执行程序的协调也是一个重要和重复提及的主题。缺乏全局时钟:在程序需要协作时,它们通过交换消息来协调它们的动作。密切的协作通常取决于对程序动作发生的时间的共识。但是,事实证明,网络上的计算机与时钟同步所达到的准确性是有限的,即没有一个正确时间的全局概念。这是通信仅仅是通过网络发送消息这个事实带来的直接结果。定时问题和它们的解决方案将在第14章描述。故障独立性:所有的计算机系统都可能出故障,一般由系统设计者负责为可能的故障设计结果。分布式系统可能以新的方式出现故障。网络故障导致网上互连的计算机的隔离,但这并不意味着它们停止运行,事实上,计算机上的程序不能够检测到网络是出现故障还是网络运行得比通常慢。类似的,计算机的故障或系统中程序的异常终止(崩溃),并不能马上使与它通信的其他组件了解。系统的每个组件会单独地出现故障,而其他组件还在运行。分布式系统的这个特征所带来的后果将是贯穿本书的一个反复提及的主题。

编辑推荐

《计算机科学丛书•分布式系统:概念与设计(原书第5版)》编辑推荐:计算机领域经典著作,被誉为是衡量所有其他分布式系统教材的标准,已被爱丁堡大学、伊利诺伊大学、卡内基-梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗切斯特理工学院、北京大学等名校采纳为高级操作系统、计算机网络、分布式系统课程的教材。华章从第3版就开始引进《计算机科学丛书•分布式系统:概念与设计(原书第5版)》,每个版本翻译版印量约为7000册,影印版约为5000册。虽然由于属于高级课程,销量有局限性,但《计算机科学丛书•分布式系统:概念与设计(原书第5版)》在高等院校的师生和研究人员中具有很高的知名度,对于华章教育品牌也具有较大的支撑作用,所以确定继续做《计算机科学丛书•分布式系统:概念与设计(原书第5版)》。

图书封面

图书标签Tags

评论、评分、阅读与下载


    分布式系统 PDF格式下载


用户评论 (总计9条)

 
 

  •   适合学生看,里面东西讲的太泛,缺少深度
  •   内容浏览了一下,不难,是教材性质的,内容很广泛,深度不够,另外价格有点贵
  •   教科书需要,本身也还不错
  •   经典的分布式入门读物!理论性很强!
  •   课后习题还有相应的提示  使读书更加有条例  有重点  云计算新科技 值得学~~
  •   我昨天 看到一条评论说 第三页space 书里面翻译为 宇宙 是用软件翻译的 ,应该翻译为游戏空间 难道卓越网 是容不得负面评论么其他的我先不做评论了 等我仔细看看再说 价格我刚买 就降价了 影响我的心情 下次仔细对比一下 各大网商
  •   纸质以及印刷质量都相当不错,不过有些地方感觉翻译得很奇怪,句子不是太通顺。
  •   很好,是学习分布式系统的好教材。
  •   1. 知识覆盖面较广;2. 书本纸张很好,标准正版书籍;3. 同前期版本相比较而言,内容更加丰富全面;4. 价格有点子偏贵,虽然是一本很好的书......
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7