消息队列
业务1执行完后写入队列,失败就回滚,
接着监听队列收到消息后执行业务2成功后响应队列ack
tcc(try - confirm | cancel)
记录下初始状态,try执行两个业务,如果出错就执行逆操作
二阶段提交(2pc)
引入事务协调者、和参与者们。
首先协调者询问参与者,请求是否可以执行,参与者执行请求操作,返回执行结果给协调者。
接着协调者根据参与者执行情况,发送事务提交通知给参与者。
三阶段提交(3pc)
引入事务协调者、和参与者们。
首先协调者询问参与者,请求是否可以执行,参与者判断请求是否可以执行,如果可以执行就进入预提交阶段,否则直接放弃。
接着协调者询问参与者的执行情况,参与者执行请求操作,但不提交。
最后协调者根据参与者执行情况,发送事务提交通知给参与者。