分布式事物各方案常见使用场景

  • 2PC/3PC:依赖于数据库,能够很好的提供强一致性和强事务性,但延迟比较高,比较适合传统的单体应用,在同一个方法中存在跨库操作的情况,不适合高并发和高性能要求的场景。
  • TCC:适用于执行时间确定且较短,实时性要求高,对数据一致性要求高,比如互联网金融企业最核心的三个服务:交易、支付、账务。
  • 本地消息表/MQ 事务:适用于事务中参与方支持操作幂等,对一致性要求不高,业务上能容忍数据不一致到一个人工检查周期,事务涉及的参与方、参与环节较少,业务上有对账/校验系统兜底。
  • Saga 事务:由于 Saga 事务不能保证隔离性,需要在业务层控制并发,适合于业务场景事务并发操作同一资源较少的情况。Saga 由于缺少预提交动作,导致补偿动作的实现比较麻烦,例如业务是发送短信,补偿动作则得再发送一次短信说明撤销,用户体验比较差。所以,Saga 事务较适用于补偿动作容易处理的场景
相关推荐
qq_297574675 分钟前
【Kafka系列·进阶第三篇】流处理与数据治理实战:Streams实时计算+Schema校验+多租户管控
分布式·kafka·linq
新缸中之脑30 分钟前
Meta新模型Muse Spark上手体验
大数据·分布式·spark
Rick19931 小时前
Kafka 的 ISR 是什么
分布式·kafka
Thomas21431 小时前
pyspark 新接口 DataSource V2 写法 写入paimon为例
大数据·分布式·spark
REDcker2 小时前
RabbitMQ系列04 - 流控与信用机制
分布式·rabbitmq
謓泽2 小时前
2022年江西省大学生电子设计竞赛 H 题 — 分布式监控系统
分布式·电赛
rannn_1112 小时前
【Redis|高级篇2】多级缓存|JVM进程缓存、Lua语法、多级缓存实现(OpenResty)、缓存同步(Canal)
java·redis·分布式·后端·缓存·lua·openresty
Rick199315 小时前
Redis 分布式锁:核心使用场景
数据库·redis·分布式
墨北小七18 小时前
小说大模型的分布式训练——数据并行架构设计与实现
分布式
qq_2975746718 小时前
【Kafka系列·进阶第一篇】生产可靠性实战:死信队列+幂等性+集群扩容+灾备切换
分布式·kafka