第一章分布式系统概述1.1 什么是分布式系统?分布式系统是若干独立计算机的集合,它们对于用户来说就像一个系统。1.2 分布式系统中透明性的种类、定义。透明性:假如一个分布式系统能够在用户和应用程序面前呈现为单个计算机系统,这样的分布式系统就称为是透明的。分类:1、访问透明性:隐藏数据表示形式以及访问方式的不同 2、位置透明性:隐藏数据所在位置 3、迁移透明性:隐藏资源是否已移动到另一个位置 4、重定位透明性:隐藏资源是否在使用中已移动到另一个位置 5、复制透明性:隐藏资源是否已被复制 6、并发透明性:隐藏资源是否由若干相互竞争的用户共享 7、故障透明性:隐藏资源的故障和恢复 8、持久性透明性:隐藏资源(软件)位于内存里或在磁盘上。1.3 分布式系统中的扩展技术有哪些?(1)隐藏通信等待时间:包括异步通信和减少通信量(2)分布技术:即分割组件,然后分散到系统中,例如 DNS 和 WWW(3)复制技术: 多拷贝1.4 分布式系统的类型。(1)分布式计算系统(分为群集计算系统和网格计算系统)(2)分布式信息系统(分为事务处理系统和企业应用集成)(3)分布式普适系统(如家庭系统、电子健保系统、传感器网络)第二章体系结构2.1 四种体系结构样式。分层体系结构(Layered architectures)(网络通信广泛应用)基于对象的体系结构(Object-based architectures)(特点:松散的组织结构;通过远程过程调用进行通信)以数据为中心的体系结构(Data-centered architectures)基于事件的体系结构(Event-based architectures)(优点:进程松散耦合)2.2 客户端-服务器模型。服务器(server):实现某个特定服务的进程客户(client):向服务器请求服务的进程客户端-服务器之间的一般交互:请求/回复(如下左图)基于无连接协议的客户和服务器通信:高效,但是易受传输故障的影响(无法检测消息是否丢失也无法解释是否发生传输故障)。适合局域网。基于连接的协议:性能相对较低,不适合局域网,适合广域网(基于可靠的 TCP/IP)。客户服务器应用程序通常组织为三个层次(如上右图):(1)用户界面层:含有直接与用户交互所需的一切;(2)处理层:含有应用程序核心功能;(3)数据层:操作数据或文件系统,保持不同应用程序之间的数据一致性。客户端-服务器模型可能的组织结构如下图: (a)只有与终端有关的用户接口部分位于客户机器上;(b)把整个用户接口软件放在客户端(c)部分应用程序移到前端;(d)大多数的应用程序基本是运行在客户机...