分布式事务解决思路

本文介绍了分布式系统中的CAP定理,以及三种常见的分布式事务解决方案:2PC、TCC和可靠消息。2PC确保强一致性但可能影响性能;TCC通过补偿操作实现性能提升,但增加开发成本;可靠消息方式实现最终一致性,但需要手动处理异常。
摘要由CSDN通过智能技术生成

分布式事务解决思路

CAP定理

任何分布式系统(Distributed System)中,最多具有一致性(每个响应结果都相同)、可用性( 每个操作都必须以可预期的响应结束)、分区容错性(即使出现单个组件无法可用,操作依然可以完成)这三个特性中的两个。
也就是说,三个特性无法兼顾,必须有所取舍。

常见解决方案

1.分阶段提交(2pc)
每一个服务的事务单独提交,其中一个失败则全部回滚.
优点:保证数据的强一致性
缺点:影响性能,只适用于对数据强一致性要求很高的关键领域,高并发场景下不推荐使用(因为需要获得多个事务的执行结果,期间会锁表,如果不能及时响应可能会造成死锁)
2.补偿事务(tcc)
针对事务的每个操作都开发多的补偿操作。比如扣余额时,先用额外字段把需要扣的余额存起来再扣钱,如果事务执行失败则把钱加回去。
优点:性能比分阶段提交快。
缺点:增加了开发成本,而且补偿操作也有可能失败。部分业务流程下难以定义补偿。
3.可靠消息
事务发起方将执行完本地事务后直接提交,将消息发送至消息中间件如redis,mq。然后主动推送给事务参与方,不成功则一直推送。
优点:实现了最终一致性
缺点:如果一直失败则需要手动处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值