美文网首页
分布式系统 - 一致性及协议

分布式系统 - 一致性及协议

作者: markfork | 来源:发表于2021-11-15 20:04 被阅读0次

分布式系统一致性

常见的一致性方案

一致性算法

1 Paxos

1.1 Paxos 集群角色

  • Proposer - 提出议案
  • Acceptor - 参与角色
  • Learner - 不参与提案, 接收已通过提案

1.2 提案选定流程

Prepare 阶段

  • Proposer 选择一个提案编号 M,向超过半数的 Acceptor 成员发送prepare 请求
  • Acceptor 接收到prepare 请求,M > N (该 Acceptor 中已响应的所有 prepare 请求的最大编号 N),则将最大的N 响应给 Proposer ,并承诺不再接收小于M 的提案

Accept 阶段

  • Proposer 接收到超过半数 Acceptor 对于 M 的 prepare 请求的响应,则发送 [M,V] 提案 Accept 请求给 Acceptor ,V 是 Acceptor 接收到响应编号中最大的 编号对应value。
  • Acceptor 接收到 Accept 请求,只要该Acceptor 没有同意过 > M 编号的提案,就通过这个提案;

Learn 阶段

  • Proposer 将通过的提案 同步给 Learner
Paxos协议-提案选定流程

总结:Paxos协议的容错性很好,只要有超过半数的节点可用,整个集群就可以自己进行Leader选举,

2 Raft 协议

2.1 Raft 集群角色

  • Leader
  • Follower
  • Candidate - 候选者

2.2 Leader 选举阶段

  • 初始化阶段 所有节点都是 follower 节点
  • follower 节点设置 currentIndex = 1, 设置状态为 Candidate、给自己投票、并向其他节点发送投票请求;
    • 赢得选举
    • 其他leader
    • 选举超时

算法流程:

  • A_currentIndex > B_currentIndex = 承认A leader , B follower
  • 如果 两个Candidate得票一样多, 重选

2.3 数据复制

  • leader 接收写 entry 请求
  • entry 发送给所有 follower ,半数 follower 回复 ok,则返回给客户端成功,并把commitindex 设置为 该entry 的index,满足 一致性.

相关文章

  • 注册中心

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

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

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

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

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

  • 共识算法zk和raft学习笔记

    分布式一致性协议的目的 分布式一致性涉及的目的源于,为了避免单点故障导致系统无法使用。于是,把数据复制到多个节点。...

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

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

  • ZAB协议

    ZAB协议 「ZAB 协议算法」 ZooKeeper 最核心的作用就是保证分布式系统的数据一致性,而无论是处理来自...

  • Raft协议细节理解

    分布式系统的一致性协议,Raft协议虽然说比paxos协议要简单,但是要理解也是有困难的。经过几天反复看raft协...

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

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

  • zookeeper协议浅析

    是一个高可靠、高可用、高性能的分布式一致系统,核心为ZAB协议。 zookeeper一致性协议 zookeeper...

  • ZAB协议介绍2

    Zookeeper依赖zab协议来实现分布式数据一致性,基于该协议,Zookeeper实现了一种主备模式的系统架构...

网友评论

      本文标题:分布式系统 - 一致性及协议

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