美文网首页
叙述你所知道的分布式一致性协议

叙述你所知道的分布式一致性协议

作者: scott_alpha | 来源:发表于2019-10-27 16:42 被阅读0次

2pc,3pc,paxos,zab
在分布式应用中,每个节点都知道自己的事务提交的结果是成功或者失败,但是无法直接获取其他分布式节点的结果。因此需要一个协调者,其他节点成为参与者。
一. 2pc
提交事务请求,执行事务提交。同步阻塞、单点故障、不一致。主要用于数据库领域内,解决了分布式事务的原子性问题
1.提交事务请求
首先向其他节点询问是否可以执行事务提交操作,并发送事务给各个节点。然后各个节点执行事务,并将操作写入本地事务日志。各个参与者向协调者发送反馈。
2.执行事务提交
1)若协调者受到所有参与者的ACK反馈
向所有的参与者发送commit消息。参与者收到commit消息后执行事务提交操作,并向协调者发送ACK反馈,然后释放事务资源。协调者收到反馈后完成事务。
2)若协调者收到某一个参与者的NO反馈,或者协调者等待超时之后
向所有参与者节点发送回滚请求,参与者收到后执行回滚请求,执行完成后向协调者发送ACK反馈,协调者接收到所有参与者的ACK反馈后完成事务终端。
二. 3pc
cancommit, precommit, docommit;单点故障,数据不一致,解决了同步阻塞问题(超时提交策略,第三阶段参与者等待超时后会提交事务)。preCommit解决了同步阻塞的问题。
1)cancommit
协调者向所有参与者发送包含事务内容在内的cancommit请求,并等待参与者的反馈。参与者收到cancommit请求后,若判断自己可以顺利执行事务,则向协调者发送ACK响应,否则反馈NO响应。
2)precommit
若协调者收到所有参与者的ACK响应,则向所有的参与者发送precommit请求。参与者收到后执行事务,并将操作写入本地事务日志,成功后向协调者发送ACK响应。若协调者在第一阶段的反馈中有no,或者协调者等待超时,则向所有的参与者发送中断请求。
3)docommit
如果协调者收到了第二阶段的所有参与者的ACK请求,则向参与者发送docommit请求,执行事务的提交。参与者收到docommit请求后,执行事务的提交,成功后释放事务资源。参与者事务提交后向docommit发送ACK反馈,协调者收到所有参与者反馈后,完成事务的提交。
若协调者等待超时,或者第二阶段有参与者发送no反馈,则向所有参与者发送中断请求,参与者收到后执行事务回滚,回滚结束后释放事务资源,并向协调者发送ACK响应,协调者收到所有的ACK响应后中断事务。

相关文章

  • zookeeper

    zookeeper 简述ZAB协议以及zookeeper 简述你所知道的分布式一致性协议 叙述ZAB集群数据同步的...

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

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

  • 叙述你所知道的分布式一致性协议

    2pc,3pc,paxos,zab在分布式应用中,每个节点都知道自己的事务提交的结果是成功或者失败,但是无法直接获...

  • 【算法】分布式一致性协议

    分布式一致性协议之NWR协议 https://zhuanlan.zhihu.com/p/389520114 分布式...

  • 分布式(一)

    最近把几种分布式一致性协议撸了一遍,就觉得很迷,不知道自己最终沉淀下来了什么,于是重新审视分布式协议,从问题出发,...

  • 阿里P8架构师推荐的从Paxos到Zookeeper分布式一致性

    内容简介 本书从分布式-一致性的理论出发,向读者简要介绍几种典型的分布式-致性协议, 以及解决分布式一致性问题的思...

  • ZooKeeper的ZAB协议

    ZAB协议简介 Zookeeper主要依赖ZAB协议来实现分布式数据一致性,基于该协议,Zookeeper实现了一...

  • 2020-07-03

    Paxos+ZAB协议,分布式一致性问题的工业解决方案ZooKeeper手册 在计算机科学领域,分布式一致性问题是...

  • 注册中心

    etcd注册中心分布式一致性系统基于raft一致性协议 etcd使用场景服务注册和发现共享配置分布式锁Leader...

  • 分布式系统常用算法介绍

    1、分布式一致性协议Paxos Paxos是用于一种分布式系统并且具有容错性的一致性算法,是目前业界公认能解决...

网友评论

      本文标题:叙述你所知道的分布式一致性协议

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