第一章 分布式系统概述
1. 什么是分布式系统?
分布式系统是若干独立计算机的集合,他们对于用户来说就像一个系统。
2. 分布式系统中透明性的种类、定义
透明性:分布式系统能够在用户和应用程序面前呈现为单个计算机系统,即将它的进程和资源实际上分布在多台计算机上这一事实隐藏起来,这样的分布式系统就称为是透明的。
- 访问透明性:隐藏数据表示形式以及访问形式的不同
- 位置透明性:隐藏数据所在位置
- 迁移透明性:隐藏资源是否已经移动到另一个位置
- 重定位透明性:隐藏资源是否在使用中已移动到另一个位置
- 复制透明性:隐藏资源是否已被复制
- 并发透明性:隐藏资源是否由若干相互竞争的用户共享
- 故障透明性:隐藏资源的故障和恢复
- 持久性透明性:隐藏资源(软件)位于内存里或在磁盘上
3. 分布式系统中的扩展技术有哪些?
- 隐藏通信等待时间(异步通信,减少通信量)
- 分布技术:分割组件,分散到系统中,如DNS和WWW
- 复制技术:多拷贝
第二章 体系结构
客户端-服务器模型
服务器:实现某个特殊服务的进程
客户:向服务器请求服务的进程
客户端-服务器之间的一般交互:请求/回复
无连接的协议:高效,受传输故障的影响,适合局域网
基于连接的协议:性能相对较低 适合广域网(TCP/IP)
客户服务器应用程序通常为3个层次:
(1)用户界面层:含有直接与用户交互所需的一切
(2)处理层:含有应用程序核心功能
(3)数据层:操作数据和文件系统,保持不同应用程序之间的数据一致性
(a) 只有与终端有关的用户接口部分位于客户机器上
(b) 把整个用户接口软件放在客户端
(c)部分应用程序移到前端
(d) 大多数的应用程序基本是运行在客户机上,但所有对文件或数据库
项目的操作都是在服务器上
(e) 本地硬盘含有部分数据