文章目录

东篱南山

采菊东篱下,悠然现南山

面试篇--分布式事务

1.分布式事务
2PC
第一阶段是预提交
要求所有参与者提交事务
反馈提交结果
第二阶段要求事务提交或者回滚
如果全是OK,就提交事务
有一个不OK就回滚
3PC
第一阶段询问参与者能否提交
第二阶段所有参与者反馈能提交,就发出提交事务请求
第三阶段 反馈提交结果,完成事务提交
XA协议比较简单,但是有单点问题,由于阻塞所以不能很好的支持并发,很依赖事务管理器
TCC
Try阶段:尝试执行,完成所有业务检查(一致性),预留必须业务资源(准隔离性)
Confirm阶段:确认执行真正执行业务,不作任何业务检查,只使用Try阶段预留的业务资源,Confirm操作满足幂等性。要求具备幂等设计,Confirm失败后需要进行重试。
Cancel阶段:取消执行,释放Try阶段预留的业务资源 Cancel操作满足幂等性Cancel阶段的异常和Confirm阶段异常处理方案基本上一致。

2.CAP理论
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性):系统提供的服务对于用户的请求,总是能在“有限的时间”内“返回结果”
P (分区容错性):服务在遇到任何网络分区故障时,仍然能提供一致性和可用性的服务

3.BASE理论
 BASE是Basically Available(基本可用),Soft state(软状态),Eventually consistent(最终一致性)这三个短语的简写。
可以简单BASE理论是对CAP权衡后演化而来的结果
基本可用:分布式系统在出现不可预知的故障时,允许损失部分可用性(响应时间延长/部分非核心功能不可用,有点降级的意思)
软状态:允许数据存在中间状态,并且认为该中间状态的存在不会影响系统的整体可用性
最终一致性:系统中所有副本的数据,在经过一段时间后,最终能达到一致


标题:面试篇--分布式事务
作者:zc1249274251
地址:https://www.fanyueba.com/articles/2019/09/26/1569471380695.html