一. 前言 本文记录2pc算法的一些论文、博客的精华内容。 二. 共识算法 根据CAP理论,当网络发生分隔的时候,如果保持高可用性,则会损失一致性;反之亦然。为了实现一致性或者最终一致性,必须要实现分隔后可能不同的数据同步,我们称之为共识算法。共识算法主要应用场景包括: 决定是否提交操作存入数据库 同步时钟 是否同意进入分布式算法下一阶段(常用于复制状态机中) 选举领导者节点用于更高层的协议处理 对于一个共识算法,最重要的是以下三个特性: 达成承诺(Agreement):所有的节点会保持一个相同的值 有效性(Validity):决定采取的值必须是由某个节点提出的 终结性(Termi