分布式系统原理与范型

(美)特尼博姆

文学

分布式 分布式系统 架构 分布式计算理论 计算机 体系结构 操作系统 Tanenbaum

2008-6-1

清华大学出版社

目录
第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
【展开】
内容简介
本书是著名作者Tanenbaum关于分布式系统的最新力作,是分布式系统的权威教材。本书分成了两大部分。第2~9章讨论的是分布式系统的的原理、概念和技术,包括通信、进程、命名、同步化、一致性和复制、容错性以及安全性等,而分布式应用的开发方法(即范型)在第10~13章中进行了讨论。但是,与前一版不同的是,我们没有在讨论范型的章节中完整地介绍每个案例研究,而是通过一个有代表性的案例来解释原理。这种介绍方法使得我们不仅精简了素材,而且可以使得读者在阅读和学习时更愉快些。全书结构清晰,内容全面经典,系统性与先进性并茂。 本书适用对象广泛,不仅可以作为学习分布式计算机的本科生和研究生的教材,对于从事分布式计算研究和工程应用的科技人员和工程技术人员来说,本书也是一本优秀的读物。
【展开】
下载说明

1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接
热门评论
  • 技术与艺术的评论
    这本《分布式系统原理与范型》的作者Andrew S. Tanenbaum 是《计算机网络》,《现代操作系统》,《操作系统设计与实现》等书的作者以及minix3的作者,遥想当年芬兰大学生Linus参考minix3才写出Linux呢!可惜这本书中文版居然43个译者!这本也是目前可以买到2本分布式系统书籍之一,另一参考之前的微博
  • 技术与艺术的评论
    《分布式系统概念与设计》相对于另一本经典教材《分布式系统原理与范型》,这本在前沿性和新颖性方面要更胜一筹,两本对基本原理的阐述都很清晰,本书是把概念与设计融合起来讲述。后者是先把原理和基础算法讲述一遍,再提出实例来分析。总体来说,从可读性以及学习效果来说,本书要稍好于那本。
  • 冯_sloth的评论
    有本书叫做分布式系统原理与范型,建议每天的阅读时间少于一个小时,超过了即有生命危险
  • 朗格里格朗zk的评论
    这几天很不淡定哪,很浮躁,看书没有心情,做书也没有心情。这个周末好好在家里休息下,看完#分布式系统:原理与范型#一书吧。下周开始去办理各项材料……
  • 无啦_啦啦啦啦啦的评论
    世界著名计算机教材精选:分布式系统原理与范型(第2版)
  • Jeoygin的评论
    今天总算考完了一门试,这个月接下来的时间里把所有事情个个击破,准备三门考试,写一篇1500+小论文,写转正申请与思想汇报,做两小作业,做一大作业,看分布式系统原理与范型,看统计自然语言理解,还有实验室的事情,头都大了,我还想这个月赶紧把车学了好拿本,这会鸭梨大了,睡了吧,别再贪玩了!
  • liuchyin的评论
    好了,其实都不关我的事。相比之下,还是分布式系统原理与范型更可爱一些
  • 宗明Ming的评论
    今天的任务,英语单词3个list,阅读理解6篇,《分布式系统原理与范型》1章,《分布式数据库》1章,完不成不许睡觉。