分布式系统基础:抽象与算法解析
1. 分布式算法分类
在分布式系统中,为了提供所需的服务,需要执行不同的步骤序列,这就涉及到多种分布式算法。以下是几种常见的算法类别:
| 算法类别 | 特点 |
| — | — |
| 故障停止算法(fail - stop algorithms) | 假设进程可能因崩溃而失败,但崩溃能被其他所有进程可靠检测到。 |
| 故障沉默算法(fail - silent algorithms) | 进程崩溃永远无法被可靠检测。 |
| 故障嘈杂算法(fail - noisy algorithms) | 进程可能崩溃且崩溃能被检测,但检测并非总是准确(仅最终准确)。 |
| 故障恢复算法(fail - recovery algorithms) | 进程可以崩溃,之后还能恢复并继续参与算法。 |
| 故障任意算法(fail - arbitrary algorithms) | 进程可能任意偏离协议规范,以恶意、对抗的方式行动。 |
| 随机算法(randomized algorithms) | 除了上述类别,进程可使用随机源进行概率性选择。 |
需要注意的是,这些类别并非相互排斥,而且并非每个抽象都有来自每个类别的解决方案。有些抽象可能无法用特定类别的算法实现,有些解决方案可能存在但仍在研究中。
2. 分布式系统基本抽象的必要性
实际的分布式系统应用通常运行在各种不同的机器和通信基础设施上。物理机器在处理器数量、类型、内存容量和速度等方面存在差异,通信基础设施在延迟、吞吐量、可靠性等参数上也各不相同。此外,支持一个应用可能需要大量不同的软件组件,每个组件都有其
分布式系统抽象与算法详解
超级会员免费看
订阅专栏 解锁全文
1945

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



