个人随笔
目录
十九、springCloudAlibaba-seata篇-分布式事务概述
2023-11-06 21:26:39

1、事务四大特性

原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)

2、事务分类

本地事务、分布式事务

3、分布式事务协议

2PC,3PC(实现难度比较大)

4、分布式事务四种模式

AT

AT模式的一阶段、二阶段提交和回滚均由Seata框架自动生成,用户字只需要编写业务SQL,便能轻松接入分布式事务,AT模式是一种对业务无任何侵入的分布式解决方案

TCC

TCC模式需要用户根据自己的业务场景实现Try,Confirm和Cancel三个操作,事务发起方在一阶段执行Try方式,在二阶段提交执行Confirm方法,二阶段回滚执行Cancel方法

Saga

Saga 模式适用于业务流程长且需要保证事务最终一致性的业务系统,Saga 模式一阶段就会提交本地事务,无锁、长流程情况下可以保证性能。

XA

XA是X/Open DTP组织(X/Open DTP group)定义的两阶段提交协议,XA被许多数据库(如Oracle、DB2、SQL Server、MySQL)和中间件等工具(如CICS 和 Tuxedo)本地支持 。
X/Open DTP模型(1994)包括应用程序(AP)、事务管理器(TM)、资源管理器(RM)。

TCC和Saga的区别

对于TCC,「一阶段」会将资源进行预占,对资源进行锁定,「二阶段」才会使用资源或释放资源。
对于Saga,则是「一阶段」直接进行事务提交。相比TCC的二阶段提交事务,一阶段提交事务「无锁」,且可以采用「事件驱动异步执行」,适合「长流程」的业务,另外异步执行也意味着更高的「吞吐量」。

5、常见分布式事务解决方案

1、Seata阿里分布式事务框架(AT)

2、消息队列(可靠消息最终一致性,RocketMQ)、tcc-transaction(TCC)

3、Saga框架(Saga)

4、Atomikos、JOTM (XA)

参考:https://zhuanlan.zhihu.com/p/78599954

 103

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2