我是靠谱客的博主 糊涂丝袜,最近开发中收集的这篇文章主要介绍浅谈分布式事务解决方案两段提交(2PC),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

两阶段提交协议(Two Phase Commitment Protocol)

首先讲一下分布式事务的作用:为了保证各个事务、各个微服务之间的事务的数据一致性。

两阶段提交协议(Two Phase Commitment Protocol)中,涉及到两种角色

一个事务协调者(coordinator):负责协调多个参与者进行事务投票及提交(回滚)
多个事务参与者(participants):即本地事务执行者

总共处理步骤有两个

(1)投票阶段(voting phase):协调者将通知事务参与者准备提交或取消事务,然后进入表决过程。参与者将告知协调者自己的决策:同意(事务参与者本地事务执行成功,但未提交)或取消(本地事务执行故障);
(2)提交阶段(commit phase):收到参与者的通知后,协调者再向参与者发出通知,根据反馈情况决定各参与者是否要提交还是回滚;
在这里插入图片描述

2PC的优缺点

优点:事务参与者同时成功同时失败,保证了数据的强一致性
缺点:假如事务参与者之间的投票状态不一致,某些本地执行成功的参与者需要等待执行失败的参与者,长时间占用线程,效率低下。

最后

以上就是糊涂丝袜为你收集整理的浅谈分布式事务解决方案两段提交(2PC)的全部内容,希望文章能够帮你解决浅谈分布式事务解决方案两段提交(2PC)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部