第1章 分布式系统概论

独立计算机集合对用户呈现为单一系统:应用类型、设计目标、关键技术,以及软件与系统体系结构。

下载本章 PDF

1 分布式系统概论

1. 知识点论述

「1 分布式系统概论」合并讲解原 1.1、1.2、1.3、1.4、1.5、1.6 等内容,属于《分布式计算系统》系统概论部分。建立分布式系统的整体图景:定义、目标、结构与技术地图。本章目标是建立分布式系统的整体认识:独立节点如何呈现为单一系统,以及透明性、结构与关键技术如何为后续各章铺路。

2. 视频教程

MIT 6.824 分布式系统(中英字幕)

在B站观看

3. 知识点详解

  1. 【1.1 概念与演进】
  2. 定义:若干独立计算机的集合,用户感觉在使用一台计算机。
  3. 硬件上各机自主,不共享内存;软件上追求单一系统映像。
  4. 从集中式到分布式的驱动力:高性能 PC、LAN/WAN、Wi-Fi、4G/5G。
  5. 超级计算机与集群说明:算力可以来自大量节点协同,而不只来自单机。
  6. 【1.2 应用与类型】
  7. 应用:WWW、云计算、物联网、区块链。
  8. 类型:分布式计算系统:把计算分到多机。;分布式信息系统:跨组织的信息集成。;数据密集型系统:数据量本身成为系统设计中心。;分布式普适系统:嵌入环境、移动和感知。
  9. 【1.3 设计目标】
  10. 透明性:访问:屏蔽数据表示和访问方法差异。;位置:用户不必知道资源在哪。;迁移:资源移动不影响名字。;重定位:使用过程中资源仍可移动。;复制:用户看不见多副本。;并发:多用户共享时仍像独占。;故障:屏蔽恢复过程。
  11. 开放性:标准接口和协议,便于互操作与替换实现。
  12. 可伸缩性瓶颈:集中式服务、集中式数据、集中式算法。
  13. 同时要求可靠性、安全性与高性价比。
  14. 【1.4 关键技术】
  15. 任务调度、通信、命名与定位、同步、复制、容错、安全。
  16. 这些技术分别对应后面各章,本章只建立地图。
  17. 【1.5 软件体系结构】
  18. 构件与连接器:构件完成计算,连接器完成交互。
  19. 分层:上层依赖下层,如界面、处理算法、数据存储。
  20. 对象:封装状态与方法,远程方法调用是连接器。
  21. 数据中心:构件通过共享存储协作,适合数据密集型计算。
  22. 事件驱动:事件总线上的发布/订阅,双方时间解耦。
  23. 资源型:用 URI 和标准操作访问资源,如 REST。
  24. 【1.6 系统体系结构】
  25. 中心化:多层客户机/服务器,易管理,有单点。
  26. 去中心化 P2P:中心化 P2P:索引入口集中,数据可以分散。;有结构 P2P:覆盖网有确定拓扑,便于定位。;无结构 P2P:邻居随机,查找靠洪泛或随机走。;分层 P2P:超级节点承担更多路由。
  27. 混合型:C/S 的可管理性加上 P2P 的扩展性。

4. 应用场景

  • 用集群替代单机超级计算机完成科学计算或大数据分析。
  • 搜索引擎、电商后台把千万用户请求分到多台服务器。
  • 课程后续各章都以“独立节点 + 单一系统感”为出发点。
  • WWW/CDN:内容分布在全球节点。
  • 云平台:按需租用计算与存储。
  • 物联网与区块链:设备侧采集、链上多方协作。
  • 微服务调用时无需关心对方机器地址(位置透明)。
  • 多活机房切换时业务尽量无感(故障/迁移透明)。
  • 开放 API 与标准协议便于多语言客户端接入。
  • 对照后续章节:通信→第2章,划分→第3章,复制→第4章,容错→第5章,事务→第6章。
  • 做系统选型时先问:瓶颈在调度、通信还是数据与一致性。
  • 搜索引擎:界面层 / 检索算法层 / 网页库层。
  • REST API:以资源与标准动词组织服务。
  • 消息驱动订单系统:下单、支付、发货通过事件解耦。
  • 传统企业信息系统多用多层 C/S。
  • 文件分享、区块链网络多用 P2P 或分层 P2P。
  • 现代云平台常见混合:控制面中心化、数据面可扩展。
  • 完成与「分布式系统概论」相关的练习题,检验是否能用自己的话复述机制与权衡。

本章练习(15 题)

1. Tanenbaum 式定义强调的双重含义是?

2. 访问透明性主要屏蔽?

3. 位置透明性意味着?

4. 可伸缩性的典型瓶颈不包括?

5. 开放性主要依赖?

6. 搜索引擎常见的三层软件结构是?

7. 数据中心模式中构件如何协作?

8. 事件驱动模式的核心机制是?

9. 资源型模式的代表风格是?

10. 去中心化有结构 P2P 的特点是?

11. 中心化 P2P 与纯去中心 P2P 的差别在于?

12. 混合型体系结构的动机是?

13. 迁移透明与重定位透明的差别主要是?

14. 复制透明要求用户?

15. 混合体系结构想同时保留的是?