分布式事务Seata
大约 2 分钟
SEATA
四种模式:AT、TCC、SAGA、XA 四种模式
AT
基于两阶段协议的演变
一阶段 prepare 行为:在本地事务中,一并提交业务数据更新和相应回滚日志记录。
二阶段 commit 行为:马上成功结束,自动 异步批量清理回滚日志。
二阶段 rollback 行为:通过回滚日志,自动 生成补偿操作,完成数据回滚。
扩展阅读:https://seata.io/zh-cn/docs/overview/what-is-seata.html
AT与TCC的主要区别
- 都是基于两阶段提交模型
- AT适用于底层数据资源本身支持事务的场景
- TCC,底层数据资源不支持事务的情况可以采用TCC,就是完全自定义prepare/commit/rollback行为
![](https://cdn.justdopay.com/pasteimageintomarkdown/2022-09-11/34297732151772.png)
扩展阅读:https://seata.io/zh-cn/docs/dev/mode/tcc-mode.html
系统推荐
- MAT工具
- 来个JVM冷知识
- Spring框架源码关键点
- 随记
- K8S 无感发布
- Censys搜索引擎学习
- 乱七八糟的笔记
- MySQL锁、事务、隔离级别
- 数据同步方案
- 批量修改git历史记录中的用户名和邮箱
- Lombok的Accessors导致EasyExcel读取失败
- PostgreSQL JSON类型字段常用操作
- 随机毒鸡汤:我的心中有片坟,住着网课开发人。