在分布式系统中限制作家

主要观点:描述在分布式系统中避免失败的模式,包括简单复制、副本集复制、基于仲裁的方案(如quorum系统)、纠删码等,通过限制数据写入方式来提高系统可靠性。
关键信息:

  • 分布式存储系统有 N 个节点,部分节点可能故障,通过冗余(写额外数据)来容忍故障。
  • 简单复制是将文件写入随机 k 个节点,k = 1 时单副本易丢失,k = N 时全节点备份。
  • 副本集复制是提前确定允许的子集(copysets),随机选择其中一个,子集越少丢失概率越低。
  • quorum系统用于在不知道文件位置时保证数据可读,如通过读取每个副本集中的至少一个节点来确保文件已完整写入。
  • 纠删码将文件分成 D 个数据块和 P 个校验块,写一个块到每个节点,可通过任意 D 个块重构文件,能提高空间效率但失败集数量更多。
    重要细节:
  • 故障模型为节点独立均匀故障,实际系统需避免相关故障。
  • 副本集复制中,节点共享数据的数量(散射宽度)与降低失败概率相矛盾,可通过算法在两者间权衡。
  • 在基于仲裁的系统中,如Flexible Paxos,用更对称的“读/写仲裁”描述,与副本集相关。
  • Hydra中的CodingSets是副本集的自然扩展,有大量重叠以提高可靠性。
  • 探讨这些模式的起源及其他适用场景,提到1986年的相关论文及可能更早的想法,还提到对其他情况的思考。
阅读 14
0 条评论