分布式系统与进程协调:原理、状态与通信
1. 分布式系统概述
分布式系统是通过网络和名为中间件的分布式软件连接起来的自主计算机集合。中间件使计算机能够协调活动并共享系统资源,用户会将其视为一个单一的集成计算设施。
分布式系统具有以下特点:
- 组件自主:每个组件都能独立运行。
- 资源管理与安全策略:由各系统自行实施。
- 多控制点与故障点:存在多个控制和可能出现故障的位置。
- 资源访问的不确定性:资源并非随时都可访问。
此外,分布式系统可以通过添加资源进行扩展,并且即便在硬件、软件或网络可靠性较低的情况下,也能设计为保持可用性。
分布式系统已经存在了数十年,常见的应用包括分布式文件系统和网络文件系统。现代操作系统允许用户挂载远程文件系统,像访问本地文件系统一样访问它,但由于通信成本较高,会有性能损失。远程过程调用(RPC)支持进程间通信,允许一个系统上的程序调用另一个地址空间(可能是远程系统)中的程序。许多编程语言都支持RPC,例如Java的远程方法调用(Java RMI)和XML - RPC。
中间件应支持分布式系统的一系列理想属性:
| 属性 | 描述 |
| ---- | ---- |
| 访问透明性 | 本地和远程信息对象使用相同操作进行访问 |
| 位置透明性 | 无需知道信息对象的位置即可访问 |
| 并发透明性 | 多个进程使用共享信息对象并发运行而互不干扰 |
| 复制透明性 | 在用户或应用不知情的情况下,使用信息对象的多个实例提高可靠性 |
| 故障透明性 | 隐藏故障 |
| 迁移透明性 | 系统
超级会员免费看
订阅专栏 解锁全文
172万+

被折叠的 条评论
为什么被折叠?



