二阶段提交
二阶段提交是一种分布式事务协议,为了解决在分布式系统中数据一致性,首先需要一个协调者和多个参与者,首先协调组向参与者发起prepare请求,参与者接收到请求后会生产redo和undo日志并且响应协调者,协调者接收到所有参与者的ack响应后协调者发起commit请求,事务结束释放所有资源,当协调者接收到回滚响应后或某个参与者响应超时就会向各个参与者发起回滚,事务结束
三阶段提交
由于二阶段提交会占用太多资源(协调者等待参与者响应)这时有人提出了另一种方案,加入了一个超时的概念,将二阶段提交的第一步拆成了两步:cancommit,precommit,docommit,当协调者等待参与者响应超时时,不会回滚直接commit
paxos算法