0
点赞
收藏
分享

微信扫一扫

【微服务】(十六)—— 分布式事务Seata

雪域迷影 2022-09-18 阅读 113

目录

事务ACID原则

一、理论基础

1)CAP理论

CAP定理- Consistency 

CAP定理- Availability

CAP定理-Partition tolerance

2)BASE理论 

二、分布式事务Seata

1)初识seata

2)Seata架构

 3)微服务集成seata

1、首先,引入seata相关依赖:

2、然后,配置application.yml,让微服务通过注册中心找到seata-tc-server:

 三、XA模式

1)XA模式原理

2)seata的XA模式 

3)实现XA模式

1、修改application.yml文件(每个参与事务的微服务),开启XA模式:

2、给发起全局事务的入口方法添加@GlobalTransactional注解,

3、重启服务并测试

四、AT模式

1)AT模式原理

五、TCC模式

1)TCC模式原理 

2)TCC的空回滚和业务悬挂

六、Saga模式

 四种模式对比


 

事务ACID原则

一、理论基础

1)CAP理论

CAP定理- Consistency 

CAP定理- Availability

CAP定理-Partition tolerance

2)BASE理论 

二、分布式事务Seata

1)初识seata

2)Seata架构

 3)微服务集成seata

 三、XA模式

1)XA模式原理

2)seata的XA模式 

3)实现XA模式

四、AT模式

1)AT模式原理

五、TCC模式

1)TCC模式原理 

2)TCC的空回滚和业务悬挂

六、Saga模式

 四种模式对比

XA

AT

TCC

SAGA

一致性

强一致

弱一致

弱一致

最终一致

隔离性

完全隔离

基于全局锁隔离

基于资源预留隔离

无隔离

代码侵入

有,要编写三个接口

有,要编写状态机和补偿业务

性能

非常好

非常好

场景

对一致性、隔离性有高要求的业务

基于关系型数据库的大多数分布式事务场景都可以

对性能要求较高的事务。

有非关系型数据库要参与的事务。

业务流程长、业务流程多

参与者包含其它公司或遗留系统服务,无法提供 TCC 模式要求的三个接口

 

举报

相关推荐

0 条评论