![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
一致性协议
文章平均质量分 74
其实系一个须刨
这个作者很懒,什么都没留下…
展开
-
ZAB协议
Paxos 虽然解决了分布式系统中,多个节点就某个值达成一致性的通信协议。但是还是引入了其他的问题。由于其每个节点,都可以提议提案,也可以批准提案。当有三个及以上的 proposer 在发送 prepare 请求后,很难有一个 proposer 收到半数以上的回复而不断地执行第一阶段的协议,在这种竞争下,会导致选举速度变慢。所以 zookeeper 在 paxos 的基础上,提出了 ZAB 协议,本质上是,只有一台机器能提议提案(Proposer),而这台机器的名称称之为...原创 2021-07-07 21:53:58 · 127 阅读 · 0 评论 -
Raft协议
基本名词节点状态 Leader(主节点):接受 client 更新请求,写入本地后,然后同步到其他副本中 Follower(从节点):从 Leader 中接受更新请求,然后写入本地日志文件。对客户端提供读请求 Candidate(候选节点):如果 follower 在一段时间内未收到 leader 心跳。则判断 leader 可能故障,发起选主提议。节点状态从 Follower 变为 Candidate 状态,直到选主结束 termId:任期号,时间被划分成一个个任期,每次选举后都会产生原创 2021-07-07 21:08:37 · 177 阅读 · 0 评论 -
Paxos协议
像 2PC 和 3PC 都需要引入一个协调者的角色,当协调者 down 掉之后,整个事务都无法提交,参与者的资源都出于锁定的状态,对于系统的影响是灾难性的,而且出现网络分区的情况,很有可能会出现数据不一致的情况。需要一种不用协调者角色,每个参与者来协调事务的机制。Paxos 协议是一个解决分布式系统中,多个节点之间就某个值(提案)达成一致(决议)的通信协议。它能够处理在少数节点离线的情况下,剩余的多数节点仍然能够达成一致。即每个节点,既是参与者,也是决策者...原创 2021-07-07 20:58:58 · 238 阅读 · 0 评论 -
3PC三阶段提交
阶段一:CanCommit事务询问。协调者向所有参与者发送包含事务内容的canCommit的请求,询问是否可以执行事务提交,并等待应答; 各参与者反馈事务询问。正常情况下,如果参与者认为可以顺利执行事务,则返回Yes,否则返回No。阶段二:PreCommit在本阶段,协调者会根据上一阶段的反馈情况来决定是否可以执行事务的PreCommit操作。有以下两种可能:执行事务预提交发送预提交请求。协调者向所有节点发出PreCommit请求,并进入prepared阶段; 事务...原创 2021-07-07 20:47:19 · 247 阅读 · 0 评论 -
2PC二阶段提交
2PC即Two-Phase Commit,二阶段提交。广泛应用在绝大部分关系型数据库,为了使得基于分布式架构的所有节点可以在进行事务处理时能够保持原子性和一致性。阶段一:提交事务请求事务询问。协调者向所有参与者发送事务内容,询问是否可以执行提交操作,并开始等待各参与者进行响应; 执行事务。各参与者节点,执行事务操作,并将Undo和Redo操作计入本机事务日志; 各参与者向协调者反馈事务问询的响应。成功执行返回Yes,否则返回No。阶段二:执行事务提交协调者在...原创 2021-07-07 20:23:50 · 303 阅读 · 0 评论