哈尔滨网站开发建设公司免费手机app制作软件
news/
2025/10/3 9:21:56/
文章来源:
哈尔滨网站开发建设公司,免费手机app制作软件,汽车销售网站,高级网站开发两阶段提交2PC是分布式事务中最强大的事务类型之一#xff0c;两段提交就是分两个阶段提交#xff1a;
第一阶段询问各个事务数据源是否准备好。第二阶段才真正将数据提交给事务数据源。 为了保证该事务可以满足ACID#xff0c;就要引入一个协调者#xff08;Cooradinator…两阶段提交2PC是分布式事务中最强大的事务类型之一两段提交就是分两个阶段提交
第一阶段询问各个事务数据源是否准备好。第二阶段才真正将数据提交给事务数据源。 为了保证该事务可以满足ACID就要引入一个协调者Cooradinator。其他的节点被称为参与者Participant。协调者负责调度参与者的行为并最终决定这些参与者是否要把事务进行提交。
处理流程如下 阶段一
协调者向所有参与者发送事务内容询问是否可以提交事务并等待答复。各参与者执行事务操作将 undo 和 redo 信息记入事务日志中但不提交事务。如参与者执行成功给协调者反馈 yes否则反馈 no。
阶段二
如果协调者收到了参与者的失败消息或者超时直接给每个参与者发送回滚(rollback)消息否则 发送提交(commit)消息。两种情况处理如下
情况1当所有参与者均反馈 yes提交事务
协调者向所有参与者发出正式提交事务的请求即 commit 请求。参与者执行 commit 请求并释放整个事务期间占用的资源。各参与者向协调者反馈 ack(应答)完成的消息。协调者收到所有参与者反馈的 ack 消息后即完成事务提交。
情况2当有一个参与者反馈 no回滚事务
协调者向所有参与者发出回滚请求即 rollback 请求。参与者使用阶段 1 中的 undo 信息执行回滚操作并释放整个事务期间占用的资源。各参与者向协调者反馈 ack 完成的消息。协调者收到所有参与者反馈的 ack 消息后即完成事务。
存在的问题
性能问题所有参与者在事务提交阶段处于同步阻塞状态占用系统资源容易导致性能瓶颈。可靠性问题如果协调者存在单点故障问题或出现故障提供者将一直处于锁定状态。数据一致性问题在阶段 2 中如果出现协调者和参与者都挂了的情况有可能导致数据不一致。
优点 尽量保证了数据的强一致适合对数据强一致要求很高的关键领域。其实也不能100%保证强一致。
缺点 实现复杂牺牲了可用性对性能影响较大不适合高并发高性能场景。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925706.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!