分布式事务两阶段提交VS三阶段提交?|通俗易懂

本文详细介绍了分布式事务中的两阶段提交(2PC)和三阶段提交(3PC)协议,分析了它们的问题与改进,以及如何通过Paxos算法和柔性事务来解决数据一致性问题。
摘要由CSDN通过智能技术生成

 在分布式事务中,通常使用两阶段协议或三阶段协议来保障分布式事务的正常运行,它也是 X/Open 公司定义的一套分布式事务标准。

X/Open 公司是由多家国际计算机厂商所组成的联盟组织,它建立之初是为了向 UNIX 环境提供标准。

分布式事务是指在分布式系统中,多个节点之间进行的事务操作。比如在分布式系统中,用户在下单时,需要同时创建订单信息和减库存的操作,然而创建订单信息和减库存是分布在不同服务器和不同数据库中的,如下图所示:

图片

此时我们就需要一个分布式事务介入,保证所有操作,要么一起提交,要么一起回滚。

1.两阶段提交

两阶段提交(Two-Phase Commit,简称 2PC)是一种分布式事务协议,确保所有参与者在提交或回滚事务时都处于一致的状态。2PC 协议包含以下两个阶段:

  1. 准备阶段(prepare phase):在这个阶段,事务协调者(Transaction Coordinator)向所有参与者(Transaction Participant)发出准备请求,询问它们是否准备好提交事务。参与者执行所有必要的操作,并回复协调者是否准备好提交事务。如果所有参与者都回复准备好提交事务,协调者将进入下一个阶段。如果任何参与者不能准备好提交事务,协调者将通知所有参与者回滚事务。

    </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值