当前位置:网站首页>快速搞懂Seata分布式事务AT、TCC、SAGA、XA模式选型
快速搞懂Seata分布式事务AT、TCC、SAGA、XA模式选型
2022-08-02 14:57:00 【InfoQ】
- 分布式事务

- Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。
AT模式
实现原理
insert into 订单 values(1001,...)
update 仓储 set num = 300 where gid =100;
DELETE FROM 订单 where id =1001
update 仓储 set num=210 where gid = 100
特点
- 所有服务与数据库必须要自己拥有管理权,因为要创建UNDO LOG表
- 最好都是MySQL,听说也支持PSQL,不过没试验过
- 高并发互联网应用,允许数据出现短时不一致,可通过对账程序或补录来保证最终一致性。
TCC模式
实现原理


特点
- 所有服务与数据库必须要自己拥有管理权
- 支持异构数据库,可以使用不同选型实现
- 高并发互联网应用,允许数据出现短时不一致,可通过对账程序或补录来保证最终一致性。
SAGA模式
实现原理

特点
- 在当前架构引入状态机机制,类似于工作流
- 无法保证隔离性
- 需要与第三方交互时才会考虑,例如:调用支付宝支付接口->出库失败->调用支付宝退款接口
XA模式
实现原理

特点
- 使用支持XA方案的关系型数据库(主流都支持)
- 金融行业,并发量不大,但数据很重要的项目
总结
边栏推荐
猜你喜欢

【Untitled】

该死的单元测试,写起来到底有多痛?

UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 178: illegal multibyte s

Basic management of system storage -- mounts, partitions, user quotas

【Untitled】

Brute-force cracking of the latest JVM interview questions of Meituan: unlimited execution

CNN鲜花分类

祝蔡徐坤生日快乐!

go——协程调度

《数字经济全景白皮书》银行业智能风控科技应用专题分析 发布
随机推荐
如何查看微信小程序服务器域名并且修改
【无标题】
软件成分分析:华为云重磅发布开源软件治理服务
vite.config.ts introduces the `path` module Note!
MySQL (2)
MySQL 视图(详解)
如何利用PHP实现词法分析器与自定义语言
Reed-Solomon Codes——RS纠错码
phpstudy实现命令行操作
China's garment industry has formed a complete industrial system
Qt | QWidget 的一些总结
Apache的管理及web优化
PAT serie a 1137 final grades
Basic management of mysql database in Linux system
How to check the WeChat applet server domain name and modify it
看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!
【服务器数据恢复】Raid阵列更换故障硬盘后数据同步失败的数据恢复案例
5000mAh大电池!华为全新鸿蒙手机今晚亮相:更流畅更安全
软件代码签名证书怎么申请
System delay tasks and scheduled tasks
