分布式事务

补偿机制
两个服务:addUser和addScore
先调用addUser,成功返回true,直接提交事务。
addUser调用成功返回true后,开始调用addScore,如果执行成功,直接提交事务,执行失败,则调用delUser,将新添加的用户删除。
补偿机制就是说,当先前事务已提交,后续事务出现异常时,调用补偿的方法,将先前更改的数据删除。
补偿机制的不足:1、不同的事务要写不同的补偿机制,不具备通用性。2、补偿的事务失败没有考虑进来。3、如果业务复杂,if/else嵌套很多层。

两阶段提交
两个服务:addUser和addScore。
先调用addUser,成功不提交事务,调用addScore,成功则将两个事务一起提交,失败则一起回滚。
此方法降低了出现数据不一致发生的概率,如果采用更新就提交事务的方式,后续事务出现异常,则需回滚,而事务2的执行时间+提交时间过长,除出现异常的几率增加。而事务一起提交的时间很短,出现的概率降低了。
两阶段提交机制不足:事务提交会释放数据库连接,而两阶段提交则一直占用着数据库连接,等事务提交完才释放,这就意味着,数据库连接占用时间增加,系统整体吞吐量降低。

此文为网络上看到的自己的理解,如有雷同,纯属我抄的,对不起。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值