12.2、Seata简介
Seata 简介
Seata 是 Spring Cloud Alibaba 的分布式事务解决方案。本节将学习 Seata 的基本概念。
本章节内容参考官方文档顺序: 根据 Seata 官方文档 - What is Seata,官方文档按照以下顺序讲解:
- What is Seata(Seata 是什么)
- Core Functions(核心功能)
- Transaction Modes(事务模式)
- Architecture(架构设计)
本节将学习:Seata 是什么、核心功能、事务模式,以及架构设计。
Seata 是什么
定义
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。
名称含义
Seata 名称含义:
- Se:Simple(简单)
- a:Extensible(可扩展)
- t:Available(可用)
- a:Transaction(事务)
核心功能
主要功能
Seata 核心功能:
- AT 模式:自动模式,无侵入
- TCC 模式:补偿模式
- Saga 模式:长事务模式
- XA 模式:XA 协议模式
事务模式
模式说明
Seata 事务模式:
- AT 模式:自动模式,推荐使用
- TCC 模式:补偿模式,高性能
- Saga 模式:长事务模式
- XA 模式:XA 协议模式
架构设计
架构组件
Seata 架构组件:
- TC(Transaction Coordinator):事务协调者
- TM(Transaction Manager):事务管理器
- RM(Resource Manager):资源管理器
架构图
官方资源
根据 Seata 官方文档 和 GitHub 仓库,Seata 的核心特性包括:
-
多种事务模式支持:Seata 支持 AT(自动事务)、TCC(补偿事务)、SAGA(长事务)等多种分布式事务模式。官方文档强调,AT 模式对业务代码零侵入,通过数据源代理自动管理事务;TCC 模式需要业务实现 Try、Confirm、Cancel 三个方法,但性能更好;SAGA 模式适合长事务场景。
-
高性能和易用性:Seata 的设计目标是提供高性能、易用的分布式事务解决方案。官方文档中提到,Seata 的 AT 模式通过 undo_log 表记录数据变更,实现自动回滚,对开发者透明,使用简单。
-
高可用架构:Seata 支持集群部署,提供了多种存储模式(File、DB、Redis 等),可以满足不同规模的应用需求。官方文档详细说明了如何配置 Seata 的高可用部署方案。
参考资源:
- Seata 官方文档:https://seata.io/
- Seata GitHub:https://github.com/seata/seata
本节小结
在本节中,我们学习了:
第一个是 Seata 是什么。 Seata 是分布式事务解决方案。
第二个是核心功能。 AT、TCC、Saga、XA 模式。
第三个是事务模式。 不同事务模式的特点。
第四个是架构设计。 TC、TM、RM 组件。
这就是 Seata 简介。了解 Seata 的基本概念,是使用 Seata 的基础。
在下一节,我们将学习 Seata 事务模式。