月度归档:2017年06月

再谈Raft

正如Raft论文作者所说,鉴于Paxos协议晦涩难懂,算法本身与工程生产实践应用相距甚远,实现起来难度非常大,开源实现也少,从而以清晰易懂和工程实现较容易为目标提出了能够达到与(multi-Paxos)协议同等效果的Raft一致性协议算法,而且在强化leader角色、leader选举、成员管理等方面更清晰明确,整体上更优于Paxos或其它一致性协议算法。
阅读全文

也谈Paxos

Paxos算法用来解决什么问题?我理解的用抽象一点的语言解释,paxos算法的过程就是多方统一认知,达成共识,形成决议的过程;用算法本身的形式化运行过程解释,就是多个节点如何选定某个确定的值(一致性);分布式系统中就可以做到保障高可用性(容忍少数失败或故障)的同时,达成一个一致决议,就可以应用于这些场景:多副本一致性、数据库日志强一致同步(节点日志的顺序确定)、选主(谁成为主)、成员管理或配置变更等。
阅读全文