一致性协议与Raft算法
CAP理论 CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中: 一致性( C onsistency) 可用性( A vailability) 分区容错性( P artition tolerance) 对于一个分布式系统来说,上述三个特性不能同时兼得,分为CP和AP的系统。例如银行必须是CP。 一致性协议 分为两种: 弱一致性(最终一致性) 强一致性 弱一致性,也称为最终一致性,也就是说各个节点不会立即保证系统同步,属于AP范畴,典型的应用如DNS域名解析服务。 强一致性,表示各个节点的数据必须保持一致,属于CP,典型的应用有Zookeeper。 通常所说的一致性协议算法,指的其实就是 强一致性算法 ,这些算法都是由Lamport提出的 Paxos算法 演变出来。Paxos算法有三个变种,base paxos,multi paxos和fast paxos。其他一致性算法又是由 multi paxos的简化版 演变而来,主要 Raft 和 ZAB 。 强一致性协议的内容 强一致性协议主要包括的内容可以概括为: 选主机制 数据一致性 1)写数据 2)提交数据 saft容错策略 Paxos Paxos本身只是一个理论,并没有落地实现,paxos协议中,存在较多的角色,包括议案发起人,议员和记录员等。 base paxos,是通过 议案编号大小 来进行的