Paxos算法

一、为啥要研究paxos

  最近在研究zookeeper源码,zk的并本质就是一个分布式数据库,如何保证分布式的一致性呢?深究下去,踩进了一个大坑:paxos算法。有坑了就趟吧,找论文、看文档,一会儿似乎柳暗花明,一会儿又一脸蒙逼:我是谁?我在干什么?下面分享一些个人的理解,也有摘抄(感谢那些分享者)。

二、Paxos解决的问题

  分布式数据一致性,可以联系多线程下各线程的通讯模型,基于内存或者基于消息传递的。Paxos算法是基于消息传递的。

三、用一些轮子来理解Paxos

  Paxos算法网上已经有很多解析的了,下面就组合各种轮子。

  1、Paxos原则:

    在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态

  2、原理解析,请看下面几个轮子:

  http://blog.csdn.net/dellme99/article/details/14162159

  http://blog.csdn.net/michaelyang_yz/article/details/53005451

  http://blog.csdn.net/fei33423/article/details/52275166

  关于如何选举,这里讲的不错:

  https://www.cnblogs.com/cchust/p/5617989.html

posted @ 2018-01-10 17:01  AlgorithmInit  阅读(214)  评论(0编辑  收藏  举报