分布式一致性与共识协议:从 CAP、Paxos、Raft 到 PBFT、PoW 与 ZAB
分布式系统将数据和计算分散到多个节点后,真正困难的并不是让节点之间发送消息,而是在网络分区、节点宕机、并发写入,甚至恶意节点参与的条件下,让系统对外呈现可理解、可恢复的行为。本文围绕这一问题,将 CAP、ACID、BASE 与二阶段提交等事务机制,与 Paxos、Multi-Paxos、Raft、ZAB、PBFT、PoW 等共识协议联系起来,同时讨论一致哈希、Gossip、反熵和 Quorum N