美文网首页
第2章 一致性协议

第2章 一致性协议

作者: 爱喝咖啡的土拨鼠 | 来源:发表于2017-04-27 21:15 被阅读0次

目录

2.1  2pc和3pc

2.2  paxos算法

2.1  2pc和3pc

2PC两阶段提交,分为两个阶段;

阶段一:协调者(coordinator)发起提议,收集参与者(participants)的反馈(vote),根据反馈结果决定是提交(commit)还是中断(abort)事务。

阶段二: coordinator根据participant的反馈,提交或中止事务,如果participant全部同意则提交,只要有一个participant不同意就中止。

2pc的缺点:

1coordinator宕机

coordinator在阶段一发起提议后如果宕机了,那么participant会进入阻塞状态,一直等到coordinator回应。

2coordinator宕机后 ,participant也宕机

此时其他participant 即不能提交也不能回滚,处于阻塞状态

在2PC中一个participant的状态只有它自己和coordinator知晓,假如coordinator提议后自身宕机,在watchdog启用前一个participant又宕机,

其他participant就会进入既不能回滚、又不能强制commit的阻塞状态,直到participant宕机恢复。这引出两个疑问:

能不能去掉阻塞,使系统可以在commit/abort前回滚(rollback)到决议发起前的初始状态

当次决议中,participant间能不能相互知道对方的状态,又或者participant间根本不依赖对方的状态

3PC

阶段一:CanCommit

协调者向参与者询问是否可以执行事务提交

阶段二: PreCommit

协调者收到参与者的回应如果都是yes,则进行预提交,否则中断事务

阶段三:

在获取参与者的ack确认后进行,提交,否则中断事务

三阶段的优点在于,降低了参与者的阻塞范围,缺点在于可能会导致数据的不一致性(参与者接到preCommit之后如果和协调者连接中断依然会提交)

2.2 paxo 算法

参考知乎上的回答

https://www.zhihu.com/question/19787937

相关文章

  • JVM-003-MESI

    MESI 一、缓存一致性协议   缓存一致性协议有很多,不同的厂商使用的缓存一致性协议是不同的,其中intel使用...

  • 一致性协议raft和Paxos

    raft一致性协议 透彻讲解raft协议选举过程 etcd 利用raft一致性协议 zookeeper使用Paxo...

  • 缓存一致性协议

    锁缓存行有一套协议叫做缓存一致性协议。缓存一致性协议有MSI、MESI、MOSI、Synapse、Firefly以...

  • DDBS ZAB

    我们之前讲述了 Paxos 一致性算法,现在我们来看ZAB 协议,该协议应该是所有一致性协议中生产环境中应用最多的...

  • 图解 Paxos 一致性协议

    前言 Paxos 一致性协议可以说是一致性协议研究的起点,也以难以理解闻名。其实协议本身并没有多难理解,它的难理解...

  • Paxos 一致性协议

    Paxos 一致性协议可以说是一致性协议研究的起点,也以难以理解闻名。其实协议本身并没有多难理解,它的难理解性主要...

  • 理解分布式一致性:Paxos协议之Basic Paxos

    在理解分布式一致性:Raft协议中,我们详细分析了什么是分布式一致性和实现分布式一致性的Raft协议,本文我们主要...

  • zookeeper相关原理

    顺序一致性: zookeeper专门设计了zab协议作为其数据一致性协议,其原理由leader统一写入,使用两阶段...

  • 一致性协议之两阶段提交协议(2PC)

    概述 2PC是一种一致性协议,我们设计一致性协议是为了保证分布式系统各个节点的数据一致性。目前绝大部分的关系型数据...

  • Gossip 协议

    Gossip 协议也叫 Epidemic Protocol(流行病协议),主要用于消息传播,是一种一致性算法。协议...

网友评论

      本文标题:第2章 一致性协议

      本文链接:https://www.haomeiwen.com/subject/uvvnzttx.html