Seate简介
Seate是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式服务
- 常见的分布式事务解决方案
- seata
- 消息队列
- saga
- XA
他们都有一个共同特点,都是两阶段提交。
- 两阶段提交
- prepare:准备阶段
- commit:提交阶段
流程图如下
,confirm(),cancel() 方法
优点:没有锁的概念,性能更强
- AT模式:auto transcation,是一种无侵入的分布式解决方案。在AT模式下,用户只需要关注自己的业务sql,seata框架会自动生成事务的二阶段提交和回滚操作
Seata原理:
- 第一阶段
- 第二阶段- 提交事务
- 第二阶段-回滚事务
优点:- 应用层基于sql解析实现了自动补偿,降低业务侵入性
- 将分布式事务中TC(事务协调者)独立部署,负责事务的注册、回滚
- 通过全局锁实现了写隔离和读隔离
缺点:性能较差