首先需要选择某种 TCC 分布式事务框架,各个服务里就会有这个 TCC 分布式事务框架在运行。
然后你原本的一个接口,要改造为 3 个逻辑,Try-Confirm-Cancel:
- 先是服务调用链路依次执行 Try 逻辑。
- 如果都正常的话,TCC 分布式事务框架推进执行 Confirm 逻辑,完成整个事务。
- 如果某个服务的 Try 逻辑有问题,TCC 分布式事务框架感知到之后就会推进执行各个服务的 Cancel 逻辑,撤销之前执行的各种操作。
这就是所谓的 TCC 分布式事务。TCC 分布式事务的核心思想,说白了,就是当遇到下面这些情况时:
- 某个服务的数据库宕机了。
- 某个服务自己挂了。
- 那个服务的 Redis、Elasticsearch、MQ 等基础设施故障了。
- 某些资源不足了,比如说库存不够这些。
先来 Try 一下,不要把业务逻辑完成,先试试看,看各个服务能不能基本正常运转,能不能先冻结我需要的资源。
如果 Try 都 OK,也就是说,底层的数据库、Redis、Elasticsearch、MQ 都是可以写入数据的,并且你保留好了需要使用的一些资源(比如冻结了一部分库存)。
接着,再执行各个服务的 Confirm 逻辑,基本上 Confirm 就可以很大概率保证一个分布式事务的完成了。
那如果 Try 阶段某个服务就失败了,比如说底层的数据库挂了,或者 Redis 挂了,等等。
此时就自动执行各个服务的 Cancel 逻辑,把之前的 Try 逻辑都回滚,所有服务都不要执行任何设计的业务逻辑。保证大家要么一起成功,要么一起失败。
相关推荐
而TCC分布式事务组件则是Hyperf对分布式事务处理的一个重要补充,使得开发者能够在微服务环境中处理复杂的业务逻辑,保证数据的一致性。 TCC模式的核心思想是将一个全局事务拆分为多个本地事务,每个本地事务对应一...
在线教育平台中引入TCC分布式事务框架,可以实现服务间调用的事务性,确保在任何情况下数据的一致性,为学习者和教育者提供稳定可靠的学习管理服务。 基于微服务和TCC分布式事务设计的在线教育平台,已经在实际运营...
本项目"基于Hyperf的TCC分布式事务-tcc-transaction.zip"提供了在Hyperf框架下实现TCC事务的示例,帮助开发者理解和应用TCC模式。 首先,我们需要了解Hyperf。Hyperf是一款基于Swoole 4.4+开发的高性能、全异步的...
### REST-TCC分布式事务 #### 一、引言与背景 在RESTful Web服务领域,原子性事务的支持一直是讨论的热点。尽管HTTP协议定义的GET、PUT、DELETE等请求具有幂等性,使得单个服务的客户端交互具备了一定程度的可靠性...
在Java中实现TCC分布式事务,首先需要理解以下关键组件: 1. **业务服务(Business Service)**:提供实际的业务操作,如扣减库存、增加订单等。业务服务需要实现Try、Confirm和Cancel接口,分别对应初步操作、确认...
# 基于TCC分布式事务框架的分布式事务管理系统 ## 项目简介 本项目是一个基于TCC(TryConfirmCancel)分布式事务框架的分布式事务管理系统。TCC是一种分布式事务处理模式,通过将事务分为Try、Confirm和Cancel三个...
首先,我们来深入理解TCC分布式事务模型。TCC由三个阶段组成:尝试(Try)、确认(Confirm)和取消(Cancel)。在尝试阶段,系统会检查业务操作是否可以执行,如果可以则预留资源;确认阶段,当所有参与者都成功完成...
TCC分布式事务
tcc分布式事务
基于Java的TCC分布式事务框架 项目概述 TCC(TryConfirmCancel)是一种分布式事务处理模式,广泛应用于需要保证数据一致性的分布式系统中。本项目提供了一个基于TCC模式的分布式事务框架,支持多种存储方式(如...
# 基于TCC分布式事务的支付系统 ## 项目简介 本项目是一个基于TCC(TryConfirmCancel)分布式事务模型的支付系统。TCC是一种用于确保分布式系统中事务一致性的机制,通过将事务分为尝试(Try)、确认(Confirm)和...
# 基于TCC分布式事务框架的订单支付系统 ## 项目简介 本项目是一个基于TCC(TryConfirmCancel)分布式事务框架的订单支付系统。TCC是一种用于处理分布式事务的补偿性事务模型,确保在分布式系统中多个服务之间的...
本文将深入探讨TCC分布式事务解决方案以及如何在Java环境中使用tcctransaction库。 TCC(Try-Confirm-Cancel)模式由三个阶段组成: 1. Try(尝试):在这一阶段,各个服务执行本地事务的尝试操作,检查业务资源...
【Java】分布式事务SeataTCC模式-SpringCloud微服务添加TCC分布式事务
TCC分布式事务_pgc
【Java】分布式事务SeataTCC模式-SpringCloud微服务添加TCC分布式事务_pgj
TCC分布式事务_hy5
tcc分布式事务_hy5
TCC分布式事务_hy4
tcc分布式事务_hy4