内容来自《收割Offer》

面试官提问

● 事务的两阶段提交的 执行过程是怎样的?

● 两阶段提交存在的问题有哪些?

事务就是定义的一系列数据库操作,这些操作要么全部执行,要么全部不执行,是不可分割的。两阶段提交协议(Two-Phase Commit,2PC) 用于分布式系统保证数据的一致性,该协议将一个分布式的事务分成两个阶段:投票阶段(Voting phase)和提交阶段(CommitPhase)。

1 投票阶段

协调者发送事务执行请求给所有参与者,参与者根据事务在本地执行成功或者失败的结果回复同意或取消。

2 提交阶段

协调者可能收到3种事务执行结果:

● 所有参与者成功执行事务。

● 部分参与者执行事务失败。

● 协调者等待超时。