二阶段提交协议(2PC):两阶段提交主要保证了分布式事物的原子性:即所有结点要么全做要么全不做.
第一阶段:准备阶段,投票阶段.
第二阶段:执行提交或回滚操作.
当第一阶段操作都为同意时,会进入第二阶段commit操作,如果有一处为不同意,或者在规定时间内没有收到任何反馈时间的情况下,那么会默认执行回滚操作.
生活场景:2个人去教堂结婚,牧师会说一大堆 你愿意嫁给这个男人嘛 你愿意爱他一辈子嘛 2个人都同意了,才会结婚执行commit操作,如果其中一个人不同意,那么他们说出的话 都应该被收回,因为最后这个婚是结不成的了.
在这个场景中男人和女人 就是2个服务,牧师就是事物协调者.