Basic Paxos学习笔记

Posted TXZM的小屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Basic Paxos学习笔记相关的知识,希望对你有一定的参考价值。

Basic Paxos学习笔记

Basic Paxos学习笔记理论基础对集群进行读写流程图提议者流程图接受者处理准备请求流程图接收者处理接受请求

Paxos算法的目的是就某个key的值在集群各节点中达成共识,之后这个值不可以修改(只读)


理论基础

  • 一个集合中,任意两个超过半数节点构成的子集的交集不为空

  • 任何被写入多数节点的值视为在集群中达成共识

  • 算法仅在请求(两阶段都是)被多数节点通过后(未拒绝)才能继续执行,否则视为执行失败

  • 使用两阶段提交达成共识


对集群进行读写

  • 在(值)未确定是否达成共识前,需要对半数以上节点进行读请求

  • 如果未收到超过半数节点的响应,则读取失败

  • 如果多数节点的值一致,则返回一致的值给客户端。如果值存在,则在本节点缓存。

  • 如果没有达成共识的值(包括未设置),则选取最新提案编号的值进行提案流程

  • 提案通过后,返回最终接受的值,否则返回失败

  • 失败的返回需要客户端进行重试


流程图

这里我们分别以提议者(proposer)和接收者(acceptor)的视角,看下算法的具体流程

提议者流程图

接受者处理准备请求流程图

接收者处理接受请求


以上是关于Basic Paxos学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

个人对Paxos算法学习的笔记

学习Raft算法的笔记

JRaft框架学习笔记

JRaft框架学习笔记

《从Paxos到Zookeeper分布式一致性原理与实践》读书笔记

《从Paxos到Zookeeper分布式一致性原理与实践》读书笔记