答:
涉及到多个数据库操作的事务即为分布式事务,目的是为保证分布式系统中的数据一致性。 分布式事务类型:
1、二阶段提交2PC:
第一步请求阶段通过协调者来统计表决结果,
第二步执行表决后的结果,如果表决的结果是提交,那就提交执行,否则不执行提交。缺点是同步阻塞,而且万一协调者挂了就无法保证ACID。
2、三阶段提交3PC:在2PC的第一步拆分成了2步并且引入了超时机制,解决了2PC的痛点。
第一步先向参与者发出一个信号,看看大家是否都能提交,如果可以就返回yes,否则返回no。
第二步PreCommit阶段,预提交一下,如果参与者可以完成commit,就返回ack进确认,如果不能则放弃提交本次事务。
第三步doCommit阶段,进行真正的事务提交。