1 分布式系统概论
系统概论
1. 知识点论述
「1 分布式系统概论」合并讲解原 1.1、1.2、1.3、1.4、1.5、1.6 等内容,属于《分布式计算系统》系统概论部分。建立分布式系统的整体图景:定义、目标、结构与技术地图。本章目标是建立分布式系统的整体认识:独立节点如何呈现为单一系统,以及透明性、结构与关键技术如何为后续各章铺路。
2. 视频教程
MIT 6.824 分布式系统(中英字幕)
3. 知识点详解
下面围绕本知识点展开要点说明,建议结合上方视频边看边对照。
- 【1.1 概念与演进】
- 定义:若干独立计算机的集合,用户感觉在使用一台计算机。
- 硬件上各机自主,不共享内存;软件上追求单一系统映像。
- 从集中式到分布式的驱动力:高性能 PC、LAN/WAN、Wi-Fi、4G/5G。
- 超级计算机与集群说明:算力可以来自大量节点协同,而不只来自单机。
- 【1.2 应用与类型】
- 应用:WWW、云计算、物联网、区块链。
- 类型:分布式计算系统:把计算分到多机。;分布式信息系统:跨组织的信息集成。;数据密集型系统:数据量本身成为系统设计中心。;分布式普适系统:嵌入环境、移动和感知。
- 【1.3 设计目标】
- 透明性:访问:屏蔽数据表示和访问方法差异。;位置:用户不必知道资源在哪。;迁移:资源移动不影响名字。;重定位:使用过程中资源仍可移动。;复制:用户看不见多副本。;并发:多用户共享时仍像独占。;故障:屏蔽恢复过程。
- 开放性:标准接口和协议,便于互操作与替换实现。
- 可伸缩性瓶颈:集中式服务、集中式数据、集中式算法。
- 同时要求可靠性、安全性与高性价比。
- 【1.4 关键技术】
- 任务调度、通信、命名与定位、同步、复制、容错、安全。
- 这些技术分别对应后面各章,本章只建立地图。
- 【1.5 软件体系结构】
- 构件与连接器:构件完成计算,连接器完成交互。
- 分层:上层依赖下层,如界面、处理算法、数据存储。
- 对象:封装状态与方法,远程方法调用是连接器。
- 数据中心:构件通过共享存储协作,适合数据密集型计算。
- 事件驱动:事件总线上的发布/订阅,双方时间解耦。
- 资源型:用 URI 和标准操作访问资源,如 REST。
- 【1.6 系统体系结构】
- 中心化:多层客户机/服务器,易管理,有单点。
- 去中心化 P2P:中心化 P2P:索引入口集中,数据可以分散。;有结构 P2P:覆盖网有确定拓扑,便于定位。;无结构 P2P:邻居随机,查找靠洪泛或随机走。;分层 P2P:超级节点承担更多路由。
- 混合型:C/S 的可管理性加上 P2P 的扩展性。
学习建议:先抓住定义与问题,再理解机制步骤,最后对照应用场景思考“何时用、何时不用、代价是什么”。
4. 应用场景
- 用集群替代单机超级计算机完成科学计算或大数据分析。
- 搜索引擎、电商后台把千万用户请求分到多台服务器。
- 课程后续各章都以“独立节点 + 单一系统感”为出发点。
- WWW/CDN:内容分布在全球节点。
- 云平台:按需租用计算与存储。
- 物联网与区块链:设备侧采集、链上多方协作。
- 微服务调用时无需关心对方机器地址(位置透明)。
- 多活机房切换时业务尽量无感(故障/迁移透明)。
- 开放 API 与标准协议便于多语言客户端接入。
- 对照后续章节:通信→第2章,划分→第3章,复制→第4章,容错→第5章,事务→第6章。
- 做系统选型时先问:瓶颈在调度、通信还是数据与一致性。
- 搜索引擎:界面层 / 检索算法层 / 网页库层。
- REST API:以资源与标准动词组织服务。
- 消息驱动订单系统:下单、支付、发货通过事件解耦。
- 传统企业信息系统多用多层 C/S。
- 文件分享、区块链网络多用 P2P 或分层 P2P。
- 现代云平台常见混合:控制面中心化、数据面可扩展。
- 完成与「分布式系统概论」相关的练习题,检验是否能用自己的话复述机制与权衡。