暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
分布式一致性算法:Paxos算法学习
1147
10页
2次
2020-08-15
5墨值下载
【引言】
最近在研究开源库和国产数据库时,现阶段涉及到两个的方向:一个是
MySQL
InnoDB
Cluster
一个
OceanBase
,两
Paxos
算法据一数据
亲都
zookeeper
通过现分提交议(
zab
协议来使其具强一性和区容
错性的特点,其大量用于解决分布式中间件在遇到脑裂时的主
-
备选举和数据恢复的功能。
Paxos
算法是个嘛,今天重点先初步学习下。
本文内容主要参考如下两篇文章,根据个人理解做了内容整合。
【参考
1
https://www.cnblogs.com/hugb/p/8955505.html
【参考
2
https://www.jianshu.com/p/910eb4e0909c
一、
先有个
Paxos
协议
/
算法重要性的认知:
Paxos
协议
/
算法是分布式系统中比较重要的协议,有多重要?
<
分布式系统的事务处理
>
Google Chubby
的作者
Mike Burrows
说过这个世界上只有一种一致性
算法,那就是
Paxos
,其它的算法都是残次品。
<
大规模分布式存储系统
>
理解了这两个分布式协议之后
(Paxos/2PC)
,学习其他分布式协议会变得
相当容易。
看着很狂对不对,狂就有其狂的资本,接着了解
Paxos
协议。
二、
Paxos
协议
/
算法的历史
Paxos
算法是莱斯利
·
兰伯特(
Leslie Lamport
,就
LaTeX
中的
"La"
,此人现在在微软
院)
1990
年提基于致性个算认为法中
最有效的。
20
世纪
80
年代起对于一致性算法的研究就没有停止过。节点通信存在两种模型
内存
Shared memory
,需要锁)和消息传递(
Messages passing
)。
Paxos
算法就是一种基于消息传递模型的一致性算法,不仅仅是分布式系统中,凡是多
过程需要达成某种一致的场合都可以使用
Paxos
算法。
Paxos
算法解决的问题是一分布式系统如何就某个值(决议)达成一致。一个典型的
景是,在一个分布式数据库系统,如果各节点的初始状态一致,每个节点执行相同
列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,
要在每一条指令上执行一个
一致性算法
以保证每个节点看到的指令一致。
Paxos
算法机器
/
线程达致;式文
布式数据库中多客户端并发读写数据,分布式存储中多个副本响应读写请的一致性。
Paxos
协议
/
算法
Paxos
算法的
Paxos
算法的的是为了解决分布式环境下一致性的问题;
分布式环境下的不可靠背景下,在多个节点并发操数据时,如何保证在
读写过程中数据的一致性(如何就一个值达到统一)。
Paxos
的两个
Proposer
提议发起者,处理客户端请客户端的请集群中,以便这个
值是可以被批准
Acceptor
提议批准者,负责处理接到的提议,他们的复就是一次投票。会存储一
状态来决一个值
Paxos
有两个原则
1)
安全原则
---
保证不能做错的事
a
对某个实决只能有一个值被批准,不能出现一个被批准的值被
一个值覆盖情况
(
假设有一个值被多数
Acceptor
批准了,那么这个值就只能
被学习
)
b
) 每个节点只能学习到已经批准的值,不能学习没有被批准的值。
2)
活原则
---
只要有多数务器存且彼此间可以通信,最都要做到的下
列事
a
)最批准某个被提议的值;
b
)一个值被批准了,其他务器最会学习到这个值。
paxos
图概括如下:
of 10
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜