保证事务ACID特性

1)2pc 二阶段提交
第一阶段:提交事务请求:事务没有真正提交,只是请求过去执行。
第二阶段:真正提交,或者中断事务。
中断事务:1、发回滚请求
2、参与者节点回滚
3、参与者反馈结果给协调者
4、协调者接受参与者ack(完整无误后)后回滚
问题:存在同步阻塞(参与者节点在提交处于同步阻塞状态,无法做其他操作,卡)、单点问题(协调者节点出故障,会破坏事务一致性)、脑裂导致数据不一致(服务宕机或阻塞时)等问题
2)3pc 三阶段提交
将提交事务请求分为了两步走,三个阶段分别是CanCommit、PreCommit、DoCommit;在参与者提交事务请求给协调者上做判断,引入超时时间概念,在一定时间内,如果参与者事务请求发送过去没有得到响应,则发生参与者消息,让其他参与者事务不在等待,不响应参与者不进行处理,并回滚协调者中关于无响应参与者部分的问题。
解决了同步阻塞、单点问题,但是没有解决脑裂导致数据不一致问题(网络分区问题)。
引入paxos算法,(该算法是一种分布式系统容错性的一致性算法),来解决3pc中网络分区问题。
paxos算法,“过半原则”概念,少数服从多数。
zk就是基于fast paxos的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值