分布式系统-RAFT实现笔记

Mit6.824-Lab3A 实现笔记

本次实验为实现Raft中的选举部分,在实现时除了要完全按照论文的Figure2实现节点状态以外。在实际编写代码时,以下部分曾经困扰了我,现在总结如下:

分布式系统-RAFT(1)

在开始之前,必须指出 RAFT 不是具体的分布式系统设施,比如 GFS 和 VM-FT 就是提供具体功能的分布式设施。RAFT 是一种算法,它可以应用在具体的分布式系统中以维护容错性并保持一致性。

分布式系统-VM-FT阅读笔记

什么是 two-phase commit(两阶段提交)

两阶段提交是一种原子提交协议,用于确保分布式事务的原子性(要么全部执行,要么全部不执行)。它主要包含两个阶段:

分布式系统-GFS阅读笔记

GFS

论文首先分析了作为一个大型的分布式存储系统的特点和难题:

  1. 故障:所有分布式系统的共同特点是总有机器会发生故障,系统需要能够应对这种情况。
  2. 文件体积巨大:文件往往以 GB 的级别进行传输,因此文件系统的块大小必须重新设计。
  3. 追加写入为主:许多文件只进行追加写,而不是覆盖现有的数据。同时,读取以顺序访问为主。

由于以上特点,GFS 在设计时提出了以下假设: