本书是著名作者Tanenbaum关于分布式系统的最新力作,是分布式系统的权威教材。本书分成了两大部分。第2~9章讨论的是分布式系统的的原理、概念和技术,包括通信、进程、命名、同步化、一致性和复制、容错性以及安全性等,而分布式应用的开发方法(即范型)在第10~13章中进行了讨论。但是,与前一版不同的是,我们没有在讨论范型的章节中完整地介绍每个案例研究,而是通过一个有代表性的案例来解释原理。这种介绍方法使得我们不仅精简了素材,而且可以使得读者在阅读和学习时更愉快些。全书结构清晰,内容全面经典,系统性与先进性并茂。
本书适用对象广泛,不仅可以作为学习分布式计算机的本科生和研究生的教材,对于从事分布式计算研究和工程应用的科技人员和工程技术人员来说,本书也是一本优秀的读物。
第1章 概述 1
1.1 分布式系统的定义 1
1.2 目标 3
1.2.1 使资源可访问 3
1.2.2 透明性 4
1.2.3 开放性 6
1.2.4 可扩展性 7
1.3 分布式系统的类型 12
1.3.1 分布式计算系统 12
1.3.2 分布式信息系统 14
1.3.3 分布式普适系统 17
本章小结 21
习题 22
第2章 体系结构 23
2.1 体系结构的样式 23
2.2 系统体系结构 25
2.2.1 集中式体系结构 25
2.2.2 非集中式体系结构 30
2.2.3 混合体系结构 36
2.3 体系结构与中间件 38
2.3.1 中断器 38
2.3.2 自适应软件的常见方法 40
2.3.3 讨论 40
2.4 分布式系统的自我管理 41
2.4.1 反馈控制模型 42
2.4.2 示例:用Astrolabe监视系统 43
2.4.3 示例:Globule中的差分复制策略 44
2.4.4 示例:Jade的自动组件修复管理 45
本章小结 46
习题 47
第3章 进程 48
3.1 线程 48
3.1.1 线程简介 49
3.1.2 分布式系统中的线程 52
3.2 虚拟化 55
3.2.1 虚拟化在分布式系统中的作用 55
3.2.2 虚拟机体系结构 56
3.3 客户 57
3.3.1 网络连接的用户接口 58
3.3.2 客户端软件与分布透明性 61
3.4 服务器 62
3.4.1 常见的设计问题 62
3.4.2 服务器集群 65
3.4.3 管理服务器集群 69
3.5 代码迁移 72
3.5.1 代码迁移方案 72
3.5.2 迁移与本地资源 75
3.5.3 异构系统中的代码迁移 77
本章小结 79
习题 80
第4章 通信 81
4.1 基础知识 81
4.1.1 分层协议 82
4.1.2 通信类型 87
4.2 远程过程调用 89
4.2.1 基本的RPC操作 89
4.2.2 参数传递 92
4.2.3 异步RPC 95
4.2.4 示例:DCE RPC 96
4.3 面向消息的通信 101
4.3.1 面向消息的瞬时通信 101
4.3.2 面向消息的持久通信 104
4.3.3 示例:IBM WebSphere消息队列系统 109
4.4 面向流的通信 113
4.4.1 为连续媒体提供支持 114
4.4.2 流与服务质量 115
4.4.3 流同步 117
4.5 多播通信 120
4.5.1 应用层多播 120
4.5.2 基于gossip的数据通信 123
本章小结 126
习题 127
第5章 命名系统 129
5.1 名称、标识符和地址 129
5.2 无层次命名 131
5.2.1 简单方法 131
5.2.2 基于宿主位置的方法 134
5.2.3 分布式散列表 135
5.2.4 分层方法 138
5.3 结构化命名 141
5.3.1 名称空间 141
5.3.2 名称解析 143
5.3.3 名称空间的实现 146
5.3.4 示例:域名系统 151
5.4 基于属性的命名 157
5.4.1 目录服务 157
5.4.2 分层实现:LDAP 158
5.4.3 非集中式实现 161
本章小结 164
习题 165
第6章 同步化 167
6.1 时钟同步 167
6.1.1 物理时钟 168
6.1.2 全球定位系统 171
6.1.3 时钟同步算法 172
6.2 逻辑时钟 176
6.2.1 Lamport逻辑时钟 176
6.2.2 向量时钟 179
6.3 互斥 182
6.3.1 概述 182
6.3.2 集中式算法 182
6.3.3 非集中式算法 183
6.3.4 分布式算法 184
6.3.5 令牌环算法 186
6.3.6 四种算法的比较 187
6.4 结点的全局定位 188
6.5 选举算法 190
6.5.1 传统的选举算法 190
6.5.2 无线系统环境中的选举算法 192
6.5.3 大型系统中的选举算法 193
本章小结 195
习题 196
第7章 一致性和复制 198
7.1 概述 198
7.1.1 进行复制的原因 198
7.1.2 作为扩展技术的复制 199
7.2 以数据为中心的一致性模型 200
7.2.1 持续一致性 201
7.2.2 一致的操作顺序 204
7.3 以客户为中心的一致性模型 209
7.3.1 最终一致性 209
7.3.2 单调读 211
7.3.3 单调写 212
7.3.4 读写一致性 213
7.3.5 写读一致性 214
7.4 复制管理 214
7.4.1 副本服务器的放置 215
7.4.2 内容复制与放置 216
7.4.3 内容分发 219
7.5 一致性协议 222
7.5.1 持续一致性 222
7.5.2 基于主备份的协议 223
7.5.3 复制的写协议 225
7.5.4 高速缓存相关性协议 227
7.5.5 实现以客户为中心的一致性 228
本章小结 230
习题 231
第8章 容错性 233
8.1 容错性概述 233
8.1.1 基本概念 233
8.1.2 故障模式 235
8.1.3 使用冗余掩盖故障 237
8.2 进程恢复 238
8.2.1 设计问题 238
8.2.2 故障掩盖和复制 240
8.2.3 故障系统的协定 240
8.2.4 故障检测 243
8.3 可靠的客户-服务器通信 244
8.3.1 点对点通信 244
8.3.2 失败时的RPC语义 244
8.4 可靠的组通信 248
8.4.1 基本的可靠多播方法 249
8.4.2 可靠多播中的可扩展性 249
8.4.3 原子多播 252
8.5 分布式提交 257
8.5.1 两阶段提交 257
8.5.2 三阶段提交 262
8.6 恢复 263
8.6.1 概述 263
8.6.2 检查点 266
8.6.3 消息日志 268
8.6.4 面向恢复的计算 270
本章小结 271
习题 271
第9章 安全性 273
9.1 安全性概述 273
9.1.1 安全威胁、策略和机制 273
9.1.2 设计问题 277
9.1.3 加密 281
9.2 安全通道 287
9.2.1 身份认证 287
9.2.2 消息的完整性和机密性 293
9.2.3 安全组通信 295
9.2.4 示例:Kerberos 298
9.3 访问控制 299
9.3.1 访问控制中的常见问题 299
9.3.2 防火墙 302
9.3.3 安全的移动代码 304
9.3.4 拒绝服务 309
9.4 安全管理 310
9.4.1 密钥管理 310
9.4.2 安全组管理 313
9.4.3 授权管理 314
本章小结 318
习题 319
第10章 基于对象的分布式系统 320
10.1 体系结构 320
10.1.1 分布式对象 320
10.1.2 示例:企业级Java Bean 322
10.1.3 示例:Globe分布式共享对象 324
10.2 进程 325
10.2.1 对象服务器 325
10.2.2 示例:Ice运行时系统 327
10.3 通信 329
10.3.1 把客户绑定到对象上 329
10.3.2 静态远程方法调用与动态远程方法调用 330
10.3.3 参数传递 331
10.3.4 示例:Java RMI 332
10.3.5 基于对象的消息传递 334
10.4 命名 337
10.4.1 CORBA对象引用 337
10.4.2 Globe对象引用 338
10.5 同步 340
10.6 一致性与复制 341
10.6.1 入口一致性 341
10.6.2 复制的调用 343
10.7 容错性 344
10.7.1 示例:CORBA的容错性 345
10.7.2 示例:Java的容错性 346
10.8 安全性 348
10.8.1 示例:Globe 348
10.8.2 远程对象的安全性 351
本章小结 352
习题 353
第11章 分布式文件系统 354
11.1 体系结构 354
11.1.1 客户-服务器体系结构 354
11.1.2 基于群集的分布式文件系统 358
11.1.3 对称式体系结构 360
11.2 进程 361
11.3 通信 362
11.3.1 NFS中的RPC 362
11.3.2 RPC2子系统 363
11.3.3 Plan 9中面向文件的通信 365
11.4 命名 366
11.4.1 NFS中的命名 366
11.4.2 构造全局名称空间 370
11.5 同步 371
11.5.1 文件共享的语义 371
11.5.2 文件锁定 373
11.5.3 在Coda中共享文件 375
11.6 一致性和复制 376
11.6.1 客户端缓存 376
11.6.2 服务器端复制 379
11.6.3 对等文件系统中的复制 381
11.6.4 网格系统中的文件复制 382
11.7 容错性 383
11.7.1 处理Byzantine故障 383
11.7.2 对等系统中的高度可用性 385
11.8 安全性 386
11.8.1 NFS中的安全性 386
11.8.2 分散式身份认证 388
11.8.3 安全的对等文件共享系统 391
本章小结 393
习题 394
第12章 基于Web的分布式系统 395
12.1 体系结构 395
12.1.1 传统的基于Web的系统 396
12.1.2 Web服务 399
12.2 进程 402
12.2.1 客户 402
12.2.2 Apache Web服务器 403
12.2.3 Web服务器群集 405
12.3 通信 406
12.3.1 超文本传输协议 407
12.3.2 简单对象访问协议 411
12.4 命名 412
12.5 同步 414
12.6 一致性与复制 414
12.6.1 Web代理缓存 415
12.6.2 Web宿主系统的复制 417
12.6.3 Web应用程序的复制 421
12.7 容错性 423
12.8 安全性 424
本章小结 425
习题 426
第13章 基于协作的分布式系统 428
13.1 协作模型介绍 428
13.2 体系结构 430
13.2.1 一般方法 430
13.2.2 传统的体系结构 431
13.2.3 对等体系结构 434
13.2.4 移动性和协作 436
13.3 进程 437
13.4 通信 437
13.4.1 基于内容的路由 437
13.4.2 支持复合订阅 439
13.5 命名 439
13.5.1 描述复合事件 440
13.5.2 匹配事件与订阅 441
13.6 同步 442
13.7 一致性和复制 442
13.7.1 静态方法 442
13.7.2 动态复制 445
13.8 容错性 447
13.8.1 可靠的发布-订阅通信 447
13.8.2 共享数据空间中的容错性 449
13.9 安全性 450
13.9.1 保密性 450
13.9.2 安全的共享数据空间 452
本章小结 452
习题 453
第14章 补充读物与参考文献 454
14.1 进一步阅读的建议 454
14.1.1 介绍性和综述性的著作 454
14.1.2 体系结构 455
14.1.3 进程 455
14.1.4 通信 456
14.1.5 命名 456
14.1.6 同步化 457
14.1.7 一致性与复制 457
14.1.8 容错性 458
14.1.9 安全性 458
14.1.10 面向对象的分布式系统 459
14.1.11 分布式文件系统 459
14.1.12 基于Web的分布式系统 460
14.1.13 基于协作的分布式系统 460
14.2 参考文献 461
《自私的基因》内容简介:《自私的基因》于1976年首次出版之后便畅销全球,是20世纪百大经典名著之一,是一部不仅在基因领域更在社
尽管CD、DVD和因特网等电子介质发展迅猛,但印刷品设计依然比以往更为丰富、更具挑战性。可以将数字化设计与印刷品区分的惟一设计
《深入解析MacOSX&iOS操作系统》编著者莱文。系统开发者、内核黑客和对苹果感到好奇的人们注意了!本书探讨了MacOSX系统和iOS系统
《青年管理者》内容简介:企业如何制定发展战略?如何在数字化时代推进战略创新?如何实行组织结构变革和平稳转型?如何系统化推进
《西线无战事》内容简介:第一次世界大战开始后不久,保罗和同学们怀着英雄主义的理想,志愿报名参军。经过短暂的训练后,他们被送
《住宅精细化设计》为作者针对住宅设计要点的长期研究的总结。书中就住宅精细化设计过程中的方法、意义和建议等问题,围绕我国住
《生命的战争》内容简介:最早的那批可以自我复制并且随机突变的复杂有机分子,经历了怎样的发展,才最终造就了如今这个多姿多彩的
因特网奥秘:第6版 本书特色 本书以插图引人入胜,语言准确达意地揭示了因特网——这一改变了整个世界的神奇技术背后隐藏的奥秘。作者是Preston Gralla美...
本书是计算理论方面的优秀教材之一,包括上下文无关文法、上下文无关文法范式、有限自动机、正则语言的性质、下推自动机和上下文
《情绪密码》内容简介:其实,在子女成长过程中,他们的快乐指数取决于家长是否能够在其心理成长关键期,能够对他们的“情绪免疫力
《数据分析之图算法:基于Spark和Neo4j》内容简介:图分析可以揭示复杂系统和大规模网络的运作机制,图算法为构建智能应用程序提供
《全国通信专业技术人员职业水平考试参考用书:通信专业综合能力(中级)》依据《全国通信专业技术人员职业水平考试大纲》要求编写。
《纳兰词集》内容简介:清代词坛中兴,名家辈出,其中以纳兰性德最引人注目,国学大师王国维赞其“北宋以来,一人而已”。纳兰词以
◆腾讯P4专家产品经理倾力推荐!◆揭开腾讯内部亿级产品的“产品内功”。◆解密腾讯如何成为“产品经理的黄埔军校”。◆向腾讯学
本书作者是设计模式的开山鼻祖之一。在本书中,他不仅通过一些通俗易懂的实例对如何运用设计模式进行了深入的讲解,而且还介绍了
《思维导图阅读:能模仿的写作》内容简介:5篇名作精读、43幅场景式思维导图、27篇作文点评——本书用思维导图打通从阅读到写作的通
《劳动法和社会保障法(第二版)》内容简介:本书自出版以来,已经印刷多次,获得了教师和学生的好评,有多所大学的法律院系将其列
在《JavaScript实战手册》中,畅销书作者DavidMcFarland教你如何以高级的方式使用JavaScript,即便你只有很少或者没有编程经验。
《光之美学》内容简介:光帮助我们感知一切事物,有光便有影。在绘画中,光影一直是一个重要的课题,可以借用明暗关系来表达,也可
在成千上万的移动应用中,如何使你的应用脱颖而出,立即吸引住用户,本书提供了非常实用的技巧,可以帮助你设计优秀的移动应用界