两阶段提交

 

    两阶段添加协议目的:处理各种可能出现的故障,解释在各种可能故障情况下会发生什么。

 

 假设:

 

  1. 事务访问资源时,发生炎症错误,发出异常终止;没有发生错误,发出提交操作。
  2. 资源管理器可以提交或终止事务的一部分。
  3. 事务有且仅有一个程序发出提交操作。
两阶段提交定理:
     定理一:对于每一个可能的提交协议(不只是两阶段提交),通信故障可能导致参与者阻塞。
     定理二:没有哪个调教协议可以保证故障的参与者能独立恢复。

 

 故障处理

    协调者角度:

 

  1. prepare接受消息超时或者接受到一个以上的NO消息。异常终止。
  2. 从所有的参与者接受DONE消息,无限等待,如果超时,会想参与者发送提醒重新请求DONE。

 

    参与者角度:

 

  1. 接受prepare,如果超时,单方面终止事务,如果延迟,则投票NO。
  2. 接受做出决定的消息(Commit或者Abort)。如果超时,进入阻塞状态,什么都不做。

故障与日志

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值