当前位置: 首页 > news >正文

51.Seata-TCC模式

前面两种XA模式和TA模式,都是用了加锁。

TCC模式则不会加锁,性能更好。

TCC模式跟AT模式非常相似,一阶段都是独立的事务,操作完直接提交,无需加锁。

不同的是二阶段TCC通过人工编码来实现数据恢复

需要实现三个方法

Try: 资源的监测和预留(预留是基于冻结来实现的)

Confirm: 完成资源操作业务,要求Try成功,Confirm一定要能成功。

Cancel: 预留资源释放,可以理解为try的反向操作。

举例:一个扣减用户余额的业务,假设账户原来有100元,需要扣减30元。

AT模式与TCC模式区别

AT模式下,需要添加全局锁来实现事务隔离。但是在TCC模式下是不需要隔离的,因为每个事务都会冻结一部分,每个事务冻结的是不同部分,自己操作自己冻结的部分,不会相互影响,自然就是实现了事务隔离。

TCC模式流程图

http://www.dtcms.com/a/344794.html

相关文章:

  • 前端函数防抖
  • Nginx + Keepalived 实现高可用负载均衡集群
  • 前端桌面端解决方案技术选型:全面指南
  • 深入理解强化学习的target network
  • 3.5MM防水耳机插座
  • 为什么访问HTTPS站点时,会发生SSL证书错误
  • JAVA基础代码示例
  • SpringBoot -- 集成Spring Security (二)
  • LightGBM时序预测详解:从原理到 PSO 参数优化
  • 如何理解面向过程和面向对象,举例说明一下?
  • [docker/大数据]Spark快速入门
  • 【实时Linux实战系列】实时系统中的预测性维护策略
  • 能源行业合同管理难点有哪些?企业该如何应对?
  • FIFO核心原理与机制
  • QGIS 绿色版修正
  • 基于vtkImageViewer2的MPR(二):改进
  • JavaScript 操作 DOM
  • 图论——Floyd算法
  • 四十一、【高级特性篇】API 文档驱动:OpenAPI/Swagger 一键导入测试用例
  • 上市公司能源消耗数据库
  • 【python】os.makedirs和with open
  • 密码管理中硬编码密码
  • (论文速读)并行自回归视觉生成
  • 硬件驱动---linux内核驱动 启动
  • 【LeetCode】21. 合并两个有序链表
  • 开发二手车小程序时,如何确保信息的真实性和可靠性?
  • Prometheus+Grafana监控redis
  • 【连接器专题】连接器接触界面的理解
  • Elasticsearch Rails 集成(elasticsearch-model / ActiveRecord)
  • 高速互联技术——NVLink