当前位置: 代码迷 >> 综合 >> Raft
  详细解决方案

Raft

热度:20   发布时间:2024-02-28 12:44:05.0

文章目录

    • 参考资料
    • 背景
    • 说明

参考资料

动画演示共识过程

背景

  • Paxos族算法,非拜占庭容错类共识
  • 1989年,Leslie Lamport在工作论文The part-time parliament中提出Paxos 算法, 由于文章采用了讲故事的叙事风格且内容过于艰深晦涩,直到1998 年才通过评审,发表在ACM transactions on computer systems 期刊上.

Leslie Lamport. The part-time parliament[J]. ACM Transactions on Computer Systems (TOCS),1998,16(2).

  • Paxos算法是基于消息传递的一致性算法,主要解决分布式系统如何就某个特定值达成一致的问题
  • 2013年,斯坦福大学的迭戈 · 翁伽罗(Diego Ongaro) 和约翰 · 奥斯特豪特(John Ousterhout)提出了Raft 共识算法,初衷是设计一种比Paxos更易于理解和实现的共识算法

In search of an understandable consensus algorithm

  • Raft一致性算法就是比Paxos简单又能实现Paxos所解决的问题的一致性算法

说明

思想:将复杂问题分解为几个小问题来处理,将算法流程分为子问题

  • 选举(Leader election)
  • 日志同步(Log replication)
  • 安全性(Safety)
  • 日志压缩(Log compaction)
  • 成员变更(Membership change)