02-分布式事务之Seata入门,致力于提供高性能和简
分享于 点击 16908 次 点评:137
02-分布式事务之Seata入门,致力于提供高性能和简
二、Seata学习
2.1、Seata介绍
2.1.1、Seata背景
- Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案
- 官网地址:http://seata.io/zh-cn/
- 其中的文档、播客中提供了大量的使用说明、源码分析
2.1.2、Seata架构
- Seata事务管理中有三个重要的角色:
- TC(Transaction Coordinator)- 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚
- TM(Transaction Manager)- 事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务
- RM(Reasource Manager)- 资源管理器:管理分支事务处理的资源,与TC交谈以注册分之十五和报告分支事务的状态,并驱动分支事务提交或回滚
- 整体架构如下图所示
- Seata基于上述架构提供了四种不同的分布式事务解决方案
- XA模式:强一致性分阶段事务模式,牺牲了一定的可用性,无业务入侵(CP模式)
- TCC模式:最终一致的分阶段事务模式,有业务侵入(AP模式)
- AT模式:最终一致的分阶段事务模式,无业务侵入,也是Seata的默认模式(AP模式)
- SAGA模式:长事务模式,有业务侵入(AP模式)
- 无论那种方案,都离不开TC,也就是事务的协调者
2.2、部署TC服务器
- Seata的TC服务器架构
2.2.1、下载
- 首先我们需要到官网下载
seata-server
包,地址如下所示
- http
- TC(Transaction Coordinator)- 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚
- TM(Transaction Manager)- 事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务
- RM(Reasource Manager)- 资源管理器:管理分支事务处理的资源,与TC交谈以注册分之十五和报告分支事务的状态,并驱动分支事务提交或回滚
- XA模式:强一致性分阶段事务模式,牺牲了一定的可用性,无业务入侵(CP模式)
- TCC模式:最终一致的分阶段事务模式,有业务侵入(AP模式)
- AT模式:最终一致的分阶段事务模式,无业务侵入,也是Seata的默认模式(AP模式)
- SAGA模式:长事务模式,有业务侵入(AP模式)
seata-server
包,地址如下所示
- http
用户点评