分布式存储算法之Raft一致性算法
分布式系统中,如何保证多个节点的状态一致?Raft一致性算法与Paxos不同,号称简单易学,且已经广泛应用在生产中。例如k8s和CoreOS中使用的etcd;tikv中使用Raft完成分布式同步;RedisCluster中使用类似Raft的选主机制等等。今天我们来一探究竟吧。复制状态机的想法是将服务器看成一个状态机,而一致性算法的目的是让多台服务器/状态机能够计算得到相同的状态,同时,如果有部分机器宕机,集群作为一个整体依然能继续工作。复制状态机一般通过复制日志(replicatedlog)来实现,如下图:服务器会将客户端发来的命令存成日志,日志是有序的。而服务器状态机执行命令的结果是确定的,
暂无评论