分布式事务方案:二阶段提交、三阶段提交(一)

事务处理的ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)

在分布式系统中,要实现分布式事务的ACID特性是不现实的,因为存在太多的不确实因素,本身是违背了A和C,怎么可能会完美实现呢!就拿现在比较流行的2PC、3PC也不可能实现,只能说是“最大努力”的实现方案!这两种方案都需要一个“中间商”,它会从中协调搞事情!

 

两阶段提交(2PC),要点是连坐,一人或多人犯事,全部杀光

1阶段:中间商让每个参与人开启事务,然后执行事务内操作

    这个阶段就好比婚介所组织一场联谊会,让所有单身狗一起交往,并告诉他们准备好处理纠纷的方案,然后让他们各自发展,反正就是做未结婚前的那些事情;

    有两种情况发生:

        一种情况是所有单身狗觉得各自双方都不错,没有发生意外怀孕啥的;

        一种情况是有个别或一些单身狗发生纠纷了、整意外怀孕了等等的意外事件!

2阶段:中间商让每个参与人提交事务或者回滚事务

    这个阶段是根据第1阶段的情况处理的,要么统一提交事务,要么统一回滚事务(回滚的回滚,删除的删除);

    各位单身狗都处得不错,结婚吧!

    有部分单身狗整出意外事件了,得!处理纠纷的处理纠纷、打胎的打胎等等,都得恢复出厂设置来!

正常情况下的第1阶段:

正常情况下第2阶段:

异常情况下的第1阶段:

异常情况下的第2阶段:

优缺点

优点:原理简单、实现方便

缺点:同步阻塞、单点问题、数据不一致

    同步阻塞:中间商在两个阶段中,都需要让各个参与人相互等待,直到全部参与人都确认情况后才能执行第二阶段

    单点问题:只要中间商出现问题,所有参与人的事务都无法进行

    数据不一致:中间商只负责协调处理,不管各个参与人是否处理成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值