采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
2PC提交问题: 第一步:A告知事务管理者锁定成功 第二步:B告知事务管理者锁定成功 第三步:事务管理者通知俩个可以提交了,假如A提交成功了,但是B提交失败了,B提交返回给事务管理者告知提交失败,但此时A已经提交成功了,问题1:请问A还会回滚成功吗?
在分布式事务中,确保多个参与者的数据一致性是一个相对复杂的问题。根据你的描述,A和B都向事务管理者报告锁定成功,而事务管理者通知两个参与者可以提交。然而,在这种情况下,如果B提交失败并向事务管理者报告,但A已经提交成功,那么A是否会回滚成功取决于所使用的分布式事务协议。
如果使用的是两阶段提交(Two-Phase Commit,2PC)协议,那么答案是A会回滚成功。在2PC协议中,事务管理者会先向所有参与者发出预提交请求,然后等待参与者的响应。只有当所有参与者都响应“同意”时,事务管理者会向所有参与者发出提交请求。如果有一个参与者返回“拒绝”或者发生超时,事务管理者会向所有参与者发出回滚请求,包括已经提交成功的A。所以在这种情况下,A会回滚。
非常感谢!
不客气,谢谢同学课程的支持
登录后可查看更多问答,登录/注册
这是源码实战课,更是带你通一知百,锻造Java开发高手的内功心法
274 3
232 3
150 3
97 1
32 1