XA协议:XA是一个分布式事务协议。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口,而事务管理器作为全局的调度者,负责各个本地资源的提交和回滚。
思路
2PC机制顾名思义分为两个阶段,是基于DB来完成,其实施思路可概括为:
(1)投票阶段(voting phase):参与者将操作结果通知协调者;
(2)提交阶段(commit phase):收到参与者的通知后,协调者再向参与者发出通知,根据反馈情况决定各参与者是否要提交还是回滚;
举例
ABCDE五个室友,A组织一场王者荣耀开黑游戏,A需要拉其他四个室友五排,为了大家都有时间,你需要发送信息去问室友。这时候A就属于协调者,BCDE属于参与者、
投票阶段:
(1)A在寝室群发送一条消息,说今晚下课后寝室五黑,询问室友是否有时间;
(2)B回复有时间;
(3)C回复有时间;
(4)D回复有时间
(5)E迟迟不回复,此时对于这个活动,ABCD均处于阻塞状态,算法无法继续进行;
提交阶段:
&#