采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
!](http://img1.sycdn.imooc.com//szimg/642af32109df986e14300803.jpg)这两页ppt超时的情况应该是一样的。 但是在第一张ppt中,视频中说参与者2会超时提交。参与者1中断事务,参与者2超时不是也会中断事务吗?所以也就没有一致性的问题了。 第二张ppt中,视频中说参与者b会中断事务。 这两张ppt的说法产生了冲突,帮忙看看吗?
我们看第一张图,这里主要表达的场景是在特殊的场景下,会出现不一致的情况:
在完成征集投票之后,协调者发出了「终止事务」的命令,
对于参与者1,它正常收到了该命令,所以参与者1要执行rollback
对于参与者2,它没有正常收到该命令,但由于有超时机制,所以参与者2会按征集投票阶段反馈的结果去执行。也就是说,如果参与者2在征集投票阶段反馈的是「yes」,那么这时它会commit,也就出现了不一致的结果;反之,如果参与者2在征集投票阶段反馈的是「no」,那么这时它也会rollback,刚好两者一致。
所以,从上面的分析我们可以看到,对于参与者2来说,当出现接收指令超时的时候,它该commit还是rollback,并不是固定的,而是取决于它第一步反馈的是什么。
在第二张ppt中,参与者B在征集投票阶段反馈的是[yes],按照以上的说法,参与者B应该是commit而不是中断,这里和视频中的表述有点冲突。还是我哪里理解有误。
登录后可查看更多问答,登录/注册
项目贯穿式讲解,真正将理论与实战相结合
502 9
482 6
408 5
581 4
410 4