九、Zookeeper 是如何保证数据一致性的

1、Paxos算法

1.1、Paxos算法-解决什么问题

Paxos 算法 :一种基于消息传递且具有高度容错特性的 一致性算法。
Paxos 算法解决的问题:就是如何快速正确的在一个分布式系统中对某个数据值达成一致,并且保证不论发生任何异常,都不会破坏整个系统的一致性。
在这里插入图片描述

1.2、Paxos算法描述
在一个Paxos系统中,首先将所有节点划分为Proposer(提议者),Acceptor(接受者),和Learner(学习者)。(注意:每个节点都可以身兼数职)。
在这里插入图片描述

一个完整的Paxos算法流程分为三个阶段:

  • Prepare准备阶段
    • Proposer向多个Acceptor发出Propose请求Promise(承诺)
    • Acceptor针对收到的Propose请求进行Promise(承诺)
  • Accept接受阶段
    • Proposer收到多数Acceptor承诺的Promise后,向Acceptor发出Propose请求
    • Acceptor针对收到的Propose请

猜你喜欢

转载自blog.csdn.net/qq_37200262/article/details/125177471