分布式事务⼤概分为:
2pc(两段式提交)
3pc(三段式提交)
TCC(Try、Confirm、Cancel)
最⼤努⼒通知
XA
本地消息表(ebay研发出的)
半消息/最终⼀致性(RocketMQ)
1.2pc(两段式提交) :
2pc(两段式提交)可以说是分布式事务的最开始的样⼦了,像极了媒婆,就是通过消息中间件协调多个系统,在两个系统操作事务的时候都锁定资源但是不提交事务,等两者都准备好了,告诉消息中间件,然后再分别提交事务。但是,如果A系统事务提交成功了,但是B系统在提交的时候⽹络波动或者各种原因提交失败了,其实还是会失败的。
最终⼀致性:
整个流程中,我们能保证是:
1.业务主动⽅本地事务提交失败,业务被动⽅不会收到消息的投递。
2.只要业务主动⽅本地事务执⾏成功,那么消息服务⼀定会投递消息给下游的业务被动⽅,并最终保证业务被动⽅⼀定能成功消费该消息(消费成功或失败,即最终⼀定会有⼀个最终态)。
分布式事务
最新推荐文章于 2024-07-05 11:09:17 发布