PhxPaxos

分布式最强算法之Paxos透析

只谈情不闲聊 提交于 2020-04-15 20:06:24
【推荐阅读】微服务还能火多久?>>> 前言 上一篇: 《分布式数据一致性模型有哪些?》 提到了Base理论提到了一个重要的点就是 「 最终一致性 」 有什么方式能实现这种一致性呢? 本文主要对以下两个问题进行介绍: 一致性算法Paxos透析? Paxos算法的应用场景? Paxos算法透析 Google Chubby的作者Mike Burrows说过,世上只有一种一致性算法,那就是Paxos,所有其他一致性算法都是Paxos算法的不完整版。Paxos算法是公认的晦涩,很难可能能将清楚,但是工程上也很难实现,所以有很多Paxos算法的工程实现,如Raft,ZAB,微信的PhxPaxos等。 Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法,它曾就此发表了《The Part-Time Parliament》,《Paxos Made Simple》,由于采用故事的方式来解释此算法,感觉还是很难理解。 为什么要需要Paxos 因为 「 数据一致性 」 在常见的分布式系统中,总会发生诸如机器宕机或网络异常(包括消息的延迟、丢失、重复、乱序,还有网络分区)(也就是会发生异常的分布式系统)等情况。Paxos算法需要解决的问题就是如何在一个可能发生上述异常的分布式系统中,快速且正确地在集群内部对某个数据的值达成一致