分布式事务的几种实现方式

分布式事务确保在多系统间的请求保持数据一致性。本文介绍了2PC、3PC和TCC这三种分布式事务协议,详细阐述了它们的工作原理和优缺点。2PC存在性能问题、单点故障和数据不一致风险,3PC通过增加预提交阶段和超时机制缓解这些问题。TCC则将事务分解为Try、Confirm和Cancel三个操作,提供了一种应用层面的解决方案。分布式事务的应用场景包括基于消息、补偿和直接事务操作等,每种方式各有适用范围。
摘要由CSDN通过智能技术生成

      目前大部分的互联网公司在设计整体架构的时候,都会按照业务模块,将系统拆分成很多小系统,例如订单系统、卡券系统、支付系统等等,简单来说,就是分而治之,这样每个人可以专注维护自己的代码。然后不同的小系统自己开发、测试和上线,都不会跟别人耦合在一起,可以自己独立进行,非常的方便,大大简化了大规模系统的开发成本。      

      然而有了多个子系统之后,分布式事务应该怎么来实现?下面就介绍一下分布式事务的几种实现方式。

一、分布式事务的概念

      分布式事务指的是一个请求在多个系统的调用链当中如何确保数据一致。例如,一个支付请求,支付成功后,会回调请求订单系统修改订单状态,会回调请求卡券系统修改卡券状态。那么如果回调请求因为网络原因丢失了,可能出现用户支付了,订单仍然显示为未支付状态,卡券仍然在冻结中,无法置为已使用状态。

二、2PC/3PC/TCC等分布式事务协议

2PC两阶段提交协议

      2PC是非常经典的强一致、中心化的原子提交协议,协议中定义了两类节点:一个中心化协调者节点和多个参与者节点。2PC分为两个阶段:

准备阶段:

1、协调者向所有参与者发送事务内容,询问是否可以提交事务,并等待所有参与者答复。

2、各参与者执行事务操作,将Undo和Redo信息记入事务日志中(但不提交事务)。

3、如参与者执行成功,给协调者反馈YES,即可以提交;如执行失败,给协调者反馈NO,即

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值