分布式一致性
来源:互联网 发布:阿里云地域选择 湖北 编辑:程序博客网 时间:2024/04/24 17:57
ACID不适用于分布式环境的下的事务处理,为了满足分布式环境下的事务需求,出现了一些经典理论
CAP定理
一个分布式系统不可能同时满足一致性、可用性、分区容错性,这三个要求,最多只能满足其中两项。
一致性:数据的多个副本能否保持一致的特性。
可用性:对于用户的操作能在有限时间内返回结果。
分区容错性:在系统遇到网络分区故障时(分布在不同子网络的节点,网络不连通),仍然对外提供满足一致性和可用性的服务。
由于分区容错性属于分布式系统基本要求,因此根据业务需求在一致性和可用性之间寻求平衡。
BASE理论
BASE来自基本可用、软状态和最终一致性三个短语的缩写,是对CAP中一致性和可用性权衡的结果。
基本可用:当出现不可预知故障时,系统性能降低,但依然可以提供服务。
弱状态:允许系统在不同节点的数据副本进行数据同步的过程存在延迟。
最终一致性:经过一段时间后,数据达到一致性状态,而不需要时时刻刻达到一致性状态。
最终一致性变种:因果一致性、读己之所写、会话一致性、单调读一致性、单调写一致性
一致性协议
2PC二阶段提交
角色:协调者、参与者(集群中的节点)
阶段一:提交事务请求
1.协调者向参与者发送事务内容,等待响应
2.参与者执行事务
3.参与者向协调者反馈事务执行情况
阶段二:事务提交
A.所有参与者执行事务成功的情况下
1.协调者向参与者发送事务提交请求
2.参与者提交事务
3.参与者向协调者反馈提交结果
4.协调者完成事务
B.参与者执行事务失败的情况下
1.协调者向参与者发送回滚请求
2.参与者执行事务回滚
3.参与者向协调者反馈事务回滚结果
4.协调者中断事务
缺点:同步阻塞,参与者在等待其他参与者响应的过程中无法执行其他操作。
单点问题,协调者处于重要地位,易出现单点故障
数据不一致,发送事务提交请求阶段出错
太过保守,任意节点出错,都会导致系统不可用
3PC三阶段提交
阶段一:CanCommit
1.协调者向参与者询问是否能执行事务
2.参与者向协调者反馈是否能执行事务
阶段二:PreCommit
A.参与者均能执行事务
1.协调者向参与者发送事务预提交请求
2.参与者执行事务操作
3.参与者向协调者反馈事务执行结果
B.参与者不能执行事务
1.协调者向参与者发送中断事务请求
2.协调者中断事务
阶段三:DoCommit
A.所有参与者执行事务成功的情况下
1.协调者向参与者发送事务提交请求
2.参与者提交事务
3.参与者向协调者反馈提交结果
4.协调者完成事务
B.参与者执行事务失败的情况下
1.协调者向参与者发送回滚请求
2.参与者执行事务回滚
3.参与者向协调者反馈事务回滚结果
4.协调者中断事务
Paxos
1.Proposer选择一个提案编号n,发送给一个acceptor的多数派
2.如果acceptor发现n是它已的请求中编号最大的,它会返回已经accept的最大的提案(如果有),同时承诺,不再响应编号小于等于n的prepare请求,不会accept编号小于n的提案
阶段二:accept
1.如果Proposer接收到了多数派的回应,它发送一个accept消息到(编号n和提案value,value是收到的响应中编号最大的提案,如果回应中不包含任何value,则有proposer随意选择一个)到acceptor的多数派
2.acceptor接收到accept消息后check,如果未响应比编号n大的提案,则accept这个提案,否则不回应。
ZAB
Raft
角色:leader、follower、candidate
http://www.jianshu.com/p/4711c4c32aab
http://www.jdon.com/artichect/raft.html
- 分布式一致性
- 分布式一致性
- 分布式系统---分布式一致性协议
- paxos 分布式一致性算法
- 分布式系统中的一致性
- 分布式的一致性
- 分布式系统一致性研究
- 分布式一致性问题
- [mongodb文档]分布式一致性
- 分布式一致性模型
- 分布式一致性协议
- 分布式一致性算法
- RAFT分布式一致性算法
- 分布式的一致性
- 分布式事务-最终一致性
- 分布式一致性协议paxos
- 2-分布式一致性协议
- 分布式一致性相关
- 安装caffe时“The remote end hung up unexpectedly fatal: 过早的文件结束符(EOF)”
- sublim中怎么快捷添加函数的注释
- 智慧云中的FPGA
- 对微软winsock PC端开发蓝牙疑问
- HTTP协议详解
- 分布式一致性
- Hadoop概述
- windows 时间同步服务器
- 自动问答
- web页面html中常用的特殊符号大全-可以直接用到页面里-2
- 重塑IT,加速金融行业云化转型
- 2017华为算法大赛总结
- 常见3DMAX插件导出模型丢失贴图问题
- 随意记录