Open levy5307 opened 3 years ago
https://levy5307.github.io/blog/2pc/
在分布式系统中,不能简单的向所有节点发送提交请求,然后各个节点去独立的执行事务提交。例如:
某些节点检测到违反约束或者冲突因而决定终止,而其他节点则可能成功提交 发送给某些节点的提交请求可能因为网络原因丢失,而发往其他节点的请求则顺利通过 某些节点可能在日志记录写入之前发生崩溃,然后再恢复时回滚,而其他节点成功提交
因为部分节点提交成功、而其他一些节点提交失败的情况,将会破坏原子性。
之前的文章讲到过,分布式事务的原子性是由2pc来保证的。
2pc的基本流程
https://levy5307.github.io/blog/2pc/
在分布式系统中,不能简单的向所有节点发送提交请求,然后各个节点去独立的执行事务提交。例如:
因为部分节点提交成功、而其他一些节点提交失败的情况,将会破坏原子性。
之前的文章讲到过,分布式事务的原子性是由2pc来保证的。
2pc的基本流程