《分布式系统:概念与设计》一第3节 练习-阿里云开发者社区

开发者社区> 华章计算机> 正文

《分布式系统:概念与设计》一第3节 练习

简介: 在互联网和Web持续发展并且对我们社会的每个方面都产生影响的时候,这本教材的第5版问世了。本书的介绍性章节提到互联网和Web对诸多(如金融、商业、艺术、娱乐等)应用领域的影响以及对信息社会的普遍影响。它还强调了诸如Web搜索和多人在线游戏等应用领域中的需求。
+关注继续查看

image

前 言

在互联网和Web持续发展并且对我们社会的每个方面都产生影响的时候,这本教材的第5版问世了。本书的介绍性章节提到互联网和Web对诸多(如金融、商业、艺术、娱乐等)应用领域的影响以及对信息社会的普遍影响。它还强调了诸如Web搜索和多人在线游戏等应用领域中的需求。从分布式系统的角度出发,这些开发在应用的范围、多个现代系统所支持的工作负载和系统大小等方面正在对底层系统架构提出实质性的新需求。重要的趋势包括网络技术上不断增加的多样性和普遍性(包括不断增加的无线网络的重要性)、移动和无处不在计算元素及分布式系统架构的集成(这导致了相当不同的物理体系结构),还包括支持多媒体服务的需求和云计算模式的出现,这些都对分布式系统服务的观点提出了挑战。

本书旨在提供对互联网和其他分布式系统原理的理解,提供这些系统的体系结构、算法和设计,展示它们如何满足当代分布式应用的需求。本书的前7章覆盖分布式系统研究的基础部分。前两章提供对主题的概念性概述,介绍了分布式系统的特征和在系统设计中所必须解决的挑战:最重要的可伸缩性、异构性、安全性和故障处理。这两章还开发了用于理解交互过程、故障和安全性的抽象模型。随后是其他基础性章节,这些章节介绍了网络研究、进程间通信、远程调用、间接通信和操作系统支持。
后续的章节涉及中间件这个重要的主题,考察了支持分布式应用的不同的方法,包括分布式对象和组件、Web服务和对等解决方案。接下来的章节涉及安全、分布式文件系统和分布式命名系统这些已被完善的主题,然后介绍了与数据相关的重要方面(包括分布式事务和数据复制)。与这些主题相关的算法也在它们出现时被论及,或者在专门论述定时、协调和协定等单独的章节中介绍。
本书接着论述移动和无处不在计算以及分布式多媒体系统这些新出现的领域,然后给出了一个内容充实的实例研究,从搜索功能和由Google提供的不断扩展的附加服务(例如,Gmail和Google Earth)两个角度,关注支持Google的分布式系统基础设施的设计和实现。最后一章综述了本书所介绍的所有这些体系结构概念、算法和技术,诠释了如何在一个给定应用领域的整体设计中将这些内容组织在一起。

目 录

第1章 分布式系统的特征
 1.1 简介
 1.2 分布式系统的例子
 1.3 分布式系统的趋势
 1.4 关注资源共享
 1.5 挑战
 1.6 实例研究:万维网
 1.7 小结
 练习
第2章 系统模型
 2.1 简介
 2.2 物理模型
 2.3 体系结构模型
  2.3.1 体系结构元素
  2.3.2 体系结构模式
  2.3.3 相关的中间件解决方案
 2.4 基础模型
  2.4.1 交互模型
  2.4.2 故障模型
  2.4.3 安全模型
 2.5 小结
 练习
第3章 网络和网际互连
 3.1 简介
 3.2 网络类型
 3.3 网络原理
  3.3.4 协议
  3.3.5 路由
  3.3.6 拥塞控制
 3.4 互联网协议
  3.4.1 IP寻址
  3.4.2 IP协议
  3.4.3 IP路由
  3.4.4 IPv6
  3.4.5 移动IP
  3.4.6 TCP和UDP
  3.4.7 域名
  3.4.8 防火墙
 3.5 实例研究:以太网、WiFi、蓝牙
  3.5.2 IEEE 802.11无线LAN
  3.5.3 IEEE 802.15.1蓝牙无线PAN
 3.6 小结
 练习
第4章 进程间通信
 4.1 简介
 4.2 互联网协议的API
  4.2.1 进程间通信的特征
  4.2.2 套接字
  4.2.3 UDP数据报通信
  4.2.4 TCP流通信
 4.3 外部数据表示和编码
  4.3.1 CORBA的公共数据表示
  4.3.2 Java对象序列化
  4.3.3 可扩展标记语言
  4.3.4 远程对象引用
 4.4 组播通信
  4.4.1 IP组播——组播通信的实现
  4.4.2 组播的可靠性和排序
 4.5 网络虚拟化:覆盖网络
  4.5.1 覆盖网络
  4.5.2 Skype:一个覆盖网络的例子
 4.6 实例研究:MPI
 4.7 小结
 练习
第5章 远程调用
 5.1 简介
 5.2 请求-应答协议
 5.3 远程过程调用
  5.3.1 RPC的设计问题
  5.3.2 RPC的实现
  5.3.3 实例研究:Sun RPC
 5.4 远程方法调用
  5.4.1 RMI的设计问题
  5.4.2 RMI的实现
  5.4.3 分布式无用单元收集
 5.5 实例研究:Java RMI
  5.5.1 创建客户和服务器程序
  5.5.2 Java RMI的设计和实现
 5.6 小结
 练习
第6章 间接通信
 6.1 简介
 6.2 组通信
  6.2.1 编程模型
  6.2.2 实现问题
  6.2.3 实例研究:JGroups工具箱
 6.3 发布-订阅系统
  6.3.1 编程模型
  6.3.2 实现问题
  6.3.3 发布-订阅系统的例子
 6.4 消息队列
  6.4.1 编程模型
  6.4.2 实现问题
  6.4.3 实例研究:Java消息服务
 6.5 共享内存的方式
  6.5.1 分布式共享内存
  6.5.2 元组空间通信
 6.6 小结
 练习
第7章 操作系统支持
 7.1 简介
 7.2 操作系统层
 7.3 保护
 7.4 进程和线程
  7.4.1 地址空间
  7.4.2 新进程的生成
  7.4.3 线程
 7.5 通信和调用
  7.5.1 调用性能
  7.5.2 异步操作
 7.6 操作系统的体系结构
 7.7 操作系统层的虚拟化
  7.7.1 系统虚拟化
  7.7.2 实例研究:系统虚拟化的Xen方法
 7.8 小结
 练习
第8章 分布式对象和组件
 8.1 简介
 8.2 分布式对象
 8.3 实例研究:CORBA
  8.3.1 CORBA RMI
  8.3.2 CORBA的体系结构
  8.3.3 CORBA远程对象引用
  8.3.4 CORBA服务
  8.3.5 CORBA客户和服务器实例
 8.4 从对象到组件
 8.5 实例研究:企业JavaBeans和Fractal
  8.5.1 企业JavaBeans
  8.5.2 Fractal
 8.6 小结
 练习
第9章 Web服务
 9.1 简介
 9.2 Web服务
  9.2.1 SOAP
  9.2.2 Web服务与分布式对象模型的比较
  9.2.3 在Java中使用SOAP
  9.2.4 Web服务和CORBA的比较
 9.3 Web服务的服务描述和接口定义语言
 9.4 Web服务使用的目录服务
 9.5 XML安全性
 9.6 Web服务的协作
 9.7 Web服务的应用
  9.7.1 面向服务的体系结构
  9.7.2 网格
  9.7.3 云计算
 9.8 小结
 练习
第10章 对等系统
 10.1 简介
 10.2 Napster及其遗留系统
 10.3 对等中间件
 10.4 路由覆盖
 10.5 路由覆盖实例研究:Pastry和Tapestry
  10.5.1 Pastry
  10.5.2 Tapestry
  10.5.3 从结构化对等方法到非结构化对等方法
 10.6 应用实例研究:Squirrel、OceanStore和Ivy
  10.6.1 Squirrel Web缓存
  10.6.2 OceanStore文件存储
  10.6.3 Ivy文件系统
 10.7 小结
 练习
第11章 安全性
 11.1 简介
  11.1.1 威胁和攻击
  11.1.2 保护电子事务
  11.1.3 设计安全系统
 11.2 安全技术概述
  11.2.1 密码学
  11.2.2 密码学的应用
  11.2.3 证书
  11.2.4 访问控制
  11.2.5 凭证
  11.2.6 防火墙
 11.3 密码算法
  11.3.1 密钥(对称)算法
  11.3.2 公钥(不对称)算法
  11.3.3 混合密码协议
 11.4 数字签名
  11.4.1 公钥数字签名
  11.4.2 密钥数字签名——MAC
  11.4.3 安全摘要函数
  11.4.4 证书标准和证书权威机构
 11.5 密码实用学
  11.5.1 密码算法的性能
  11.5.2 密码学的应用和政治障碍
 11.6 实例研究:Needham-Schroeder、Kerberos、TLS和802.11 WiFi
  11.6.1 Needham-Schroeder认证协议
  11.6.2 Kerberos
  11.6.3 使用安全套接字确保电子交易安全
  11.6.4 IEEE 802.11 WiFi安全设计中最初的缺陷
 11.7 小结
 练习
第12章 分布式文件系统
 12.1 简介
  12.1.1 文件系统的特点
  12.1.2 分布式文件系统的需求
  12.1.3 实例研究
 12.2 文件服务体系结构
 12.3 实例研究:SUN网络文件系统
 12.4 实例研究:Andrew文件系统
  12.4.1 实现
  12.4.2 缓存的一致性
  12.4.3 其他方面
 12.5 最新进展
 12.6 小结
 练习
第13章 名字服务
 13.1 简介
 13.2 名字服务和域名系统
  13.2.1 名字空间
  13.2.2 名字解析
  13.2.3 域名系统
 13.3 目录服务
 13.4 实例研究:全局名字服务
 13.5 实例研究:X.500目录服务
 13.6 小结
 练习
第14章 时间和全局状态
 14.1 简介
 14.2 时钟、事件和进程状态
 14.3 同步物理时钟
  14.3.1 同步系统中的同步
  14.3.2 同步时钟的Cristian方法
  14.3.3 Berkeley算法
  14.3.4 网络时间协议
 14.4 逻辑时间和逻辑时钟
 14.5 全局状态
  14.5.1 全局状态和一致割集
  14.5.2 全局状态谓词、稳定性、安全性和活性
  14.5.3 Chandy和Lamport的“快照”算法
 14.6 分布式调试
  14.6.1 收集状态
  14.6.2 观察一致的全局状态
  14.6.3 判定可能的
  14.6.4 判定明确的
  14.6.5 在同步系统中判定可能的和明确的
 14.7 小结
 练习
第15章 协调和协定
 15.1 简介
 15.2 分布式互斥
 15.3 选举
 15.4 组通信中的协调与协定
  15.4.1 基本组播
  15.4.2 可靠组播
  15.4.3 有序组播
 15.5 共识和相关问题
  15.5.1 系统模型和问题定义
  15.5.2 同步系统中的共识问题
  15.5.3 同步系统中的拜占庭将军问题
  15.5.4 异步系统的不可能性
 15.6 小结
 练习
第16章 事务和并发控制
 16.1 简介
  16.1.1 简单的同步机制(无事务)
  16.1.2 事务的故障模型
 16.2 事务
  16.2.1 并发控制
  16.2.2 事务放弃时的恢复
 16.3 嵌套事务
 16.4 锁
  16.4.1 死锁
  16.4.2 在加锁机制中增加并发度
 16.5 乐观并发控制
 16.6 时间戳排序
 16.7 并发控制方法的比较
 16.8 小结
 练习
第17章 分布式事务
 17.1 简介
 17.2 平面分布式事务和嵌套分布式事务
 17.3 原子提交协议
  17.3.1 两阶段提交协议
  17.3.2 嵌套事务的两阶段提交协议
 17.4 分布式事务的并发控制
  17.4.1 加锁
  17.4.2 时间戳并发控制
  17.4.3 乐观并发控制
 17.5 分布式死锁
 17.6 事务恢复
  17.6.1 日志
  17.6.2 影子版本
  17.6.3 为何恢复文件需要事务状态和意图列表
  17.6.4 两阶段提交协议的恢复
 17.7 小结
 练习
第18章 复制
 18.1 简介
 18.2 系统模型和组通信的作用
  18.2.1 系统模型
  18.2.2 组通信的作用
 18.3 容错服务
  18.3.1 被动(主备份)复制
  18.3.2 主动复制
 18.4 高可用服务的实例研究:闲聊体系结构、Bayou和Coda
  18.4.1 闲聊体系结构
  18.4.2 Bayou系统和操作变换方法
  18.4.3 Coda文件系统
 18.5 复制数据上的事务
  18.5.1 复制事务的体系结构
  18.5.2 可用拷贝复制
  18.5.3 网络分区
  18.5.4 带验证的可用拷贝
  18.5.5 法定数共识方法
  18.5.6 虚拟分区算法
 18.6 小结
 练习
第19章 移动和无处不在计算
 19.1 简介
 19.2 关联
  19.2.1 发现服务
  19.2.2 物理关联
  19.2.3 小结和前景
 19.3 互操作
  19.3.1 易变系统的面向数据编程
  19.3.2 间接关联和软状态
  19.3.3 小结和前景
 19.4 感知和上下文敏感
  19.4.1 传感器
  19.4.2 感知体系结构
  19.4.3 位置感知
  19.4.4 小结和前景
 19.5 安全性和私密性
  19.5.1 背景
  19.5.2 一些解决办法
  19.5.3 小结和前景
 19.6 自适应
  19.6.1 内容的上下文敏感自适应
  19.6.2 适应变化的系统资源
  19.6.3 小结和前景
 19.7 实例研究:Cooltown
  19.7.1 Web存在
  19.7.2 物理超链接
  19.7.3 互操作和eSquirt协议
  19.7.4 小结和前景
 19.8 小结
 练习
第20章 分布式多媒体系统
 20.1 简介
 20.2 多媒体数据的特征
 20.3 服务质量管理
  20.3.1 服务质量协商
  20.3.2 许可控制
 20.4 资源管理
 20.5 流自适应
  20.5.1 调整
  20.5.2 过滤
 20.6 实例研究:Tiger视频文件服务器、BitTorrent和端系统多播
  20.6.1 Tiger视频文件服务器
  20.6.2 BitTorrent
  20.6.3 端系统多播
 20.7 小结
 练习
第21章 分布式系统设计:Google实例研究
 21.1 简介546
 21.2 实例研究简介:Google
 21.3 总体结构和设计理念
  21.3.1 物理模型
  21.3.2 总的系统体系结构
 21.4 底层通信范型
  21.4.1 远程调用
  21.4.2 发布-订阅
  21.4.3 通信的关键设计选择总结
 21.5 数据存储和协调服务
  21.5.1 Google文件系统
  21.5.2 Chubby
  21.5.3 Bigtable
  21.5.4 关键设计选择总结
 21.6 分布式计算服务
  21.6.1 MapReduce
  21.6.2 Sawzall
  21.6.3 关键设计选择总结
 21.7 小结
 练习
参考文献
索引

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
最新天猫面试题(含总结):线程池+并发编程+分布式设计+中间件
一面: HashMap实现原理,ConcurrentHashMap实现原理 红黑树,为什么允许局部不平衡 TCP,UDP区别,为什么可靠和不可靠 一次HTTP请求的全过程,包括域名解析、定位主机等 TCP三次握手 MySQL事务是什么?四大特性,四大隔离级别 Concurr...
1264 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8447 0
分布式数据仓库设计
做大做强事实表,做小做弱维表; 分布式模式-维度建模新原则  (1)以值代键:针对键值唯一的维表,除非必要,否则不引入维表,如IP地址维表,采用IP作为维表的主键,事实表中存储IP值;      (2)合理分表:传统关系型数据仓库存在多表整合的冲动,如上图Event事实表,各种Acount Ind,Finance Ind等,用来扩展表的通用性,试图把所有的数据都存储到一张表 中。
790 0
《Akka应用模式:分布式应用程序设计实践指南》读书笔记2
Akka简介   Akka是什么:“Akka是在JVM上构建高并发、分布式、弹性消息驱动应用的开源工具包”。弹性意味着要积极响应失败情况,从失败中恢复的能力。   其实Akka的定义很符合响应式领域模型,这个模型有几个基本特征:   1、弹性。
1853 0
《VMware Virtual SAN权威指南(原书第2版)》一3.7 设计考量:分布式交换机和网络I/O控制
本节书摘来自华章出版社《VMware Virtual SAN权威指南(原书第2版)》一 书中的第3章,第3.7节,作者:[美] 科马克·霍根,邓肯·埃平,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1200 0
分布式系统之CAP理论杂记
分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:● 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。● 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。
1052 0
分布式系统:CAP 理论的前世今生
CAP 理论是分布式系统设计中的一个重要理论,虽然它为系统设计提供了非常有用的依据,但是也带来了很多误解。本文将从 CAP 诞生的背景说起,然后对理论进行解释,最后对 CAP 在当前背景下的一些新理解进行分析,澄清一些对 CAP 的误解。
2426 0
分布式架构设计篇(四)-聊聊cap
CAP理论可以说是分布式时代设计的指导理论之一
294 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载