分布式存储解决方案
1.概述
分布式存储核心问题是要解决读写一致性问题,同时保证高可用。paxos是通过以接收最新最多的提案为准的方式,raft也是一个分布式存储的解决方案当更简单易于理解。
2.paxos方案
首先有倡议者提出提案,即数据修改请求,当达到接受者节点后,会向倡议者发送此时尚无提案的响应,倡议者收到响应后向接受这发送数据修改请求,当大多数完成时就相当于成功,然后剩下没成功就成为学习者来学习修改的数据。
其中提案被接受后当前节点即不在接受比当前提案更早的提案,但可以接受比当前提案更晚的提案。
3.raft方案
节点类型:Follower、Candidate 和 Leader
Leader 会周期性的发送心跳包给 Follower。每个 Follower 都设置了一个随机的竞选超时时间,一般为 150ms~300ms,如果在这个时间内没有收到 Leader 的心跳包,就会变成 Candidate,进入竞选阶段。
在起始阶段,所有节点皆为follower,由于没有收到心跳,当到达一定时间后出发了选举,当选举出发后回开启分布式锁避免出现过多的候选人,当大多数节点同意后此节点变为leader,来发送心跳包。此后一切写入工作有leader来
承担,其余节点只要同步leader即可保证节点间数据的一致性。