分布式事务(2)-两阶段提交协议

分布式事务(2)-两阶段提交协议

两阶段协议(通常用来实现分布式事务)。
有两类节点:一类是协调者,一类是事务参与者。协议假设每个节点会存储操作日志,并持久化,即使节点发生故障日志也不丢失【便于回滚】
1,提交请求阶段:协调者向参与者询问是否可以执行协调者的提交操作,并等待参与者的回答。参与者将undo和redo的入口写入日志,并执行操作。各个参与者响应协调者,返回成功或终止的消息。
2,提交执行/回滚阶段。
成功:协调者向所有参与者发送“正式提交”请求;参与者完成操作,并释放事务期间占用的资源,参与者返回完成的消息。协调者收到所有参与者的消息后,完成事务。
失败:协调者发送回滚请求;参与者利用之前的undo信息执行回滚,并释放事务期间占用的资源。参与者返回完成的消息。协调者收到所有参与者的消息,取消事务。

你可能感兴趣的:(分布式事务(2)-两阶段提交协议)