200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 分布式事务(2PC/3PC/TCC 最终一致性详解)

分布式事务(2PC/3PC/TCC 最终一致性详解)

时间:2019-03-29 06:42:43

相关推荐

分布式事务(2PC/3PC/TCC 最终一致性详解)

在分布式系统中,我们一般会根据业务对服务进行划分,这就会存在一些服务间的调用关系,所以普通的本地事务是满足不了我们的要求了,需要引入分布式事务来实现我们的一致性的要求。

这里对事务进行一个简单的介绍:

同学A给同学B转250块钱,系统首先从同学A的银行卡扣除250块钱,如果上述这个步骤成功了,但是系统往同学B的银行卡上转250块钱的时候失败了,那么就会造成数据对不上的情况了。在这种情况下我们就需要引入事务,保证转钱这两步操作要么同时成功要么同时失败,成功的情况就是同学B银行卡也收到了钱,失败的情况是回滚把钱退回给A。

我们先从强一致性的场景说起,我们先了解一下ACID理论:

Atomicity:原子性(要么全部执行,要么全部都不执行)Consistency:一致性(数据库只有一个状态,不存在未确定状态)Isolation:隔离性(事务之间互不干扰)Durability: 永久性(事务一旦提交,数据库记录永久不变)

分布式事务实现方案也比较多(比如两阶段提交、三阶段提交、TCC等),下面我们对它们进行一些简单的介绍

2PC:两阶段提交

从名字我们可以理解到,2PC就是有两个阶段,一个是准备阶段,一个是提交阶段

Prepare阶段:协调者发起提议,问大家是否接受,这个阶段做了除提交事务外的所有事情。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。