正文

我们先套一个业务场景进去,如下图所示

那页面点了支付按钮,调用支付服务,那我们后台要实现下面三个步骤

[1] 订单服务-修改订单状态

[2] 账户服务-扣减金钱

[3] 库存服务-扣减库存

达到事务的效果,要么一起成功,要么一起失败!就要采取TCC分布式事务方案!

概念

TCC的全称是(Try-Confirm-Cancel)。如下图所示

ps:TCC又可以被称为两阶段补偿事务,第一阶段try只是预留资源,第二阶段要明确的告诉服务提供者,这个资源你到底要不要,对应第二阶段的confirm/cancel,用来清除第一阶段的影响,所以叫补偿型事务。

再打个比方,说TCC太高大上是吧,讲RM中的prepare、commit、rollback接口,总知道吧。可以类比的这么理解

java tcc事务 例子_分布式事务之TCC事务模型相关推荐

  1. 事务例子_图文详解:数据库事务与锁

    什么是事务(Transaction)? 是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行.事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源 ...

  2. 银行转账java代码事务实现_转账操作代码实现----事务

    在进行转账操作时,我们要保证数据的统一性.(例如,当一个账户转出金额过程中,如果出现系统错误或者说是停电断网等特殊情况,将会发生转出账户减少,转入账户金额未添加的情况.)因此,我们需要通过事务控制: ...

  3. 只读事务上下文_我可以/应该在事务上下文中使用并行流吗?

    只读事务上下文 介绍 长话短说,您不应在并行流中使用事务. 这是因为并行流中的每个线程都有其自己的名称,因此它确实参与了事务. Streams API旨在在某些准则下正常工作. 实际上,为了受益于并行 ...

  4. Java异构数据翻译器_分布式异构数据,distributed heterogeneous data,音标,读音,翻译,英文例句,英语词典...

    补充资料:分布式异构型计算机系统 分布式异构型计算机系统 distributed heterogeneous computer system fenbushi yigOUxing iisuQnji X ...

  5. mysql 查询事务信息_查看MySQL最近的事务执行信息

    查看MySQL最近的事务执行信息 发布时间:2020-03-03 12:35:07 来源:51CTO 阅读:103 作者:wjw555 课题:查看MySQL最近的事务执行信息 *虽然我们可以通过查询慢 ...

  6. java consul服务发现_分布式项目(七)consul 服务注册与发现

    说到分布式自然就离不开分布式和微服务的话题,简单聊一下. 微服务是一种软件架构方式,或者说一个一种结构设计风格,它并不是标准,它的逻辑是把一个整体服务按业务拆分成不同独立的服务,降低服务强依赖,消服务 ...

  7. java站群系统_分布式站群系统设计与实现

    摘  要: 分析了高等院校构建网站时遇到的普遍问题,提出了文件分布存储.数据集中存储的设计思想,并且在Java EE平台上设计和实现了分布式站群管理系统,其站点分布式部署.高度的代码共享.内嵌的网页编 ...

  8. java reactor模式例子_回顾 Reactor 模式

    Reactor 作为网络编程库的核心模式的 Reactor 模式是网络编程中的最常用的模式,反应器 Reactor 又名分派器 Dispatcher, 或通知器 Notifier, 重温一下 POSA ...

  9. tp5模型能实现事务吗_实现工作单元-通过事务模型处理域对象

    tp5模型能实现事务吗 Even in the most basic scenario you can picture, where the logic of an application's cor ...

最新文章

  1. Oracle查询锁表以及杀会话或系统进程来解除锁表操作
  2. 使用腾讯云短信服务技术出现FailedOperation.TemplateIncorrectOrUnapproved
  3. 小甲鱼python全部视频_小甲鱼全套教程之Python系列视频教程
  4. Matlab与OpenCV对应函数
  5. 【AI视野·今日CV 计算机视觉论文速览 第187期 part2】Fri, 18 Dec 2020
  6. Linux常用命令 创建文本 清屏操作
  7. 05 CardView的基本使用
  8. Voxengo音频插件合集:Voxengo Total Bundle Mac
  9. 最小二乘法的应用(2015A题A题太阳影子定位)
  10. PDF文件阅读器可转word...
  11. gulp项目找不到html标签,通过yeoman、gulp、angular编写前段时的html模板处理,打包后找不到html的问题解决...
  12. ORA-20011(外部表收集统计信息异常报错)
  13. Java-----关于IO流的总结
  14. 相机模型(针孔模型+畸变模型)
  15. 在寂静的夜中、独自沉沦_悲伤QQ个人签名
  16. 微信小程序注册入口和注册流程(完整版图文教程)
  17. 几款支持国标GB28181的平台以及视频监控设备接入的配置方法(Web端无插件播放)
  18. ArrayList.toArray()的用法
  19. 导航和地图解决方案行业研究及十四五规划分析报告
  20. getPerspectiveTransform通过4对点确认透视变换矩阵的原理分析

热门文章

  1. 蓝桥杯-第九届决赛——采油
  2. 【数据结构基础整理】图--06:克鲁斯卡尔算法详解
  3. 关于访问后端接口报404的问题——全网最详细的404错误详解
  4. centos7解决hadoop2.6.4多次格式化导致的slave节点datanode无法启动的问题
  5. ZZULIOJ 1000~1009(oj入门题)
  6. JavaGUI编程 -- 窗口监听事件和键盘监听事件(AWT)
  7. ArcGIS10.2下载安装 License Manager、ArcGIS Desktop、ArcGIS Server软件下载及破解
  8. 自适应移动端网页显示
  9. Android Multimedia Framework overview(多媒体框架概述)--base on jellybean(一)
  10. 移动WEB开发之响应式布局--Bootstrap栅格系统