分布式事务

分布式事务解决方案

1. TCC (Try, Confirm, Cancel)    实时

2. 消息最终一致性                   异步

3. 最大努力通知型事务(按规律进行通知,不保证数据一定能通知成功,但会提供可查询操作接口进行核对)

支付宝程立谈分布式事务

事务:一组可靠、独立的工作单元

ACID:Atomicity(原子性)  Consistency(一致性)  Isolation(隔离性)  Durability(持久性)

难点: 高度并发,资源分布,大时间跨度


本地事务:事务由资源管理器(如:DBMS)本地管理

优点:支持严格的ACID属性,可靠,高效,状态可只在资源管理器维护

局限:不具备分布事务处理能力,隔离的最小单元由资源管理器决定,如数据库中的一条数据

分布式事务_第1张图片

全局事务(DTP模型):事务由全局事务管理器全局管理

事务管理器:管理全局事务状态与参与的资源,协同资源的一致提交/回滚

TX协议:应用或应用服务器与事务管理器的接口

XA协议:全局事务管理器与资源管理器的接口

分布式事务_第2张图片

两阶段提交(Two Phase Commit)

准备操作与ACID : A准备后,仍可提交和回滚  C准备时,一致性检查必须OK

                I准备后,事务结果仍然只在事务内可见    D准备后,事务结果已经持久化

局限:协议成本(准备操作是一定必须的吗)

          准备阶段的持久成本

          全局事务的持久成本

          潜在故障点多带来的脆弱性

          准备后,提交前的故障引发一系列隔离与恢复难题

分布式事务_第3张图片

跨域的全局事务(DTP模型)

问题:1. 事务上下文如何跨域传递

           2. 多事务管理器如何协同

           3. 异构事务域间的标准是什么

通信资源管理器:管理事务域间与事务域内的通信,允许全局事务跨域传递

XA+协议:是XA的超集,增加指令使事务管理器间可以相互协同

局限:更高协议成本、脆弱,故障点多,故障影响大,恢复困难,复杂,更多框架与平台约束

分布式事务_第4张图片

原则:真正重要的是满足业务需求,而不是追求抽象、绝对的系统特性

帽子戏法:两只手最多能拿几顶帽子?

酸碱平衡:ACID-BASE Balance

服务模式:可查询模式、幕等模式、TCC操作、可补偿模式

复合模式:定期校对、可靠消息、TCC、补偿

帽子戏法--CAP定理:对于共享数据系统,只能同时拥有一下三项中的两个

a. Consistency(一致性):所有用户看到一致的数据

b. Availability(可用性):总能找到一个可用的数据副本

c. Tolerance to Network Partition(分区容忍性): 即使在系统被分区的情况下,仍能满足上述的2点

酸碱平衡--BASE:Basic Availability(基本可用性)   Soft state(柔性状态)   Eventtuall consistency(最终一致性)



分布式事务_第5张图片
分布式事务_第6张图片
分布式事务_第7张图片
分布式事务_第8张图片
分布式事务_第9张图片
分布式事务_第10张图片
分布式事务_第11张图片
分布式事务_第12张图片
分布式事务_第13张图片
分布式事务_第14张图片
分布式事务_第15张图片

spring事务

你可能感兴趣的:(分布式事务)