从Raft到Paxos

分布式一致性算法

一致性算法解决分布式系统里的什么问题?分布式系统有两个point:Placement和Replication。基于Raft解决数据的Replication和Recovery问题,在其上构建一些分布式系统。比如分布式消息队列、分布式日志服务、分布式锁服务、分布式块系统、分布式文件系统、分布式表格系统等。例如:

  • 将rocksdb构建在raft之上,就是一个分布式KV系统
  • 使用rocksdb的kv和全局有序,可以实现类似zookeeper的全局锁服务器
  • 使用rocksdb的全局有序特性,可以实现文件系统目录树,也就是分布式文件系统的NameNode
  • 使用类似DI的引擎构建在raft之上,可以做一个分布式消息队列
  • 基于上面的分布式消息队列,如果提供类似zookeeper的临时节点功能,可以做一个分布式journal服务

Paxos

Raft

BPFT

POW/POS