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

  • 2PC/3PC:依赖于数据库,能够很好的提供强一致性和强事务性,但延迟比较高,比较适合传统的单体应用,在同一个方法中存在跨库操作的情况,不适合高并发和高性能要求的场景。
  • TCC:适用于执行时间确定且较短,实时性要求高,对数据一致性要求高,比如互联网金融企业最核心的三个服务:交易、支付、账务。
  • 本地消息表/MQ 事务:适用于事务中参与方支持操作幂等,对一致性要求不高,业务上能容忍数据不一致到一个人工检查周期,事务涉及的参与方、参与环节较少,业务上有对账/校验系统兜底。
  • Saga 事务:由于 Saga 事务不能保证隔离性,需要在业务层控制并发,适合于业务场景事务并发操作同一资源较少的情况。Saga 由于缺少预提交动作,导致补偿动作的实现比较麻烦,例如业务是发送短信,补偿动作则得再发送一次短信说明撤销,用户体验比较差。所以,Saga 事务较适用于补偿动作容易处理的场景
相关推荐
失散1311 小时前
分布式专题——33 一台新机器进行Web页面请求的历程
分布式·tcp/ip·http·路由器·交换机
稚辉君.MCA_P8_Java15 小时前
kafka解决了什么问题?mmap 和sendfile
java·spring boot·分布式·kafka·kubernetes
沐浴露z15 小时前
分布式场景下防止【缓存击穿】的不同方案
redis·分布式·缓存·redission
zhuyasen16 小时前
让压测回归简单:体验 PerfTest 分布式模式的“开箱即用”
分布式·压力测试
jackaroo202018 小时前
后端_Redis 分布式锁实现指南
数据库·redis·分布式
00后程序员张18 小时前
RabbitMQ核心机制
java·大数据·分布式
爱吃烤鸡翅的酸菜鱼20 小时前
深度掌握 Git 分支体系:从基础操作到高级策略与实践案例
分布式·git·后端·gitee·github
yenggd1 天前
vxlan-bgp-evnp分布式网关配置案例
网络·分布式·华为
程序_白白1 天前
RabbitMQ中Consumer的可靠性
分布式·rabbitmq
東雪蓮☆1 天前
Filebeat+Kafka+ELK 日志采集实战
分布式·elk·kafka