- 2PC/3PC:依赖于数据库,能够很好的提供强一致性和强事务性,但延迟比较高,比较适合传统的单体应用,在同一个方法中存在跨库操作的情况,不适合高并发和高性能要求的场景。
- TCC:适用于执行时间确定且较短,实时性要求高,对数据一致性要求高,比如互联网金融企业最核心的三个服务:交易、支付、账务。
- 本地消息表/MQ 事务:适用于事务中参与方支持操作幂等,对一致性要求不高,业务上能容忍数据不一致到一个人工检查周期,事务涉及的参与方、参与环节较少,业务上有对账/校验系统兜底。
- Saga 事务:由于 Saga 事务不能保证隔离性,需要在业务层控制并发,适合于业务场景事务并发操作同一资源较少的情况。Saga 由于缺少预提交动作,导致补偿动作的实现比较麻烦,例如业务是发送短信,补偿动作则得再发送一次短信说明撤销,用户体验比较差。所以,Saga 事务较适用于补偿动作容易处理的场景
分布式事物各方案常见使用场景
斑驳竹影2024-12-07 8:28
相关推荐
拼图2091 小时前
Git常用语法盟道科技12 小时前
小程序订阅消息大规模投递实践:频控令牌池、Redis限流与失败补偿设计卷毛的技术笔记13 小时前
RocketMQ事务消息:我把分布式事务这层窗户纸捅破了懂软件的胡子个哥2 天前
微信工单系统如何基于 WechatApi 做消息分流和状态流转九皇叔叔2 天前
从本地事务到分布式事务刃神太酷啦2 天前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)海宇大数据3 天前
分布式网关架构实战:基于海宇数据公安二要素认证即时版构建自动化司机准入网关木圭的AI时代指南3 天前
Spark-X2.5 长输入 Agent 实测:全量读取陷阱与解释器寻找死循环复盘,附可复现任务KANGBboy3 天前
doris+kafka安装部署(单机+集群)二时钟服务器 java_home爱笑的k113 天前
分布式通信原语