分布式事务--Seata--TCC(feign) 本是古典 何须时尚 2022-12-31 05:17 147阅读 0赞 原文网址:[分布式事务--Seata--TCC(feign)\_IT利刃出鞘的博客-CSDN博客][--Seata--TCC_feign_IT_-CSDN] # 其他网址 # > github官方demo:[seata-samples/tcc at master · seata/seata-samples · GitHub][seata-samples_tcc at master _ seata_seata-samples _ GitHub] > [95--分布式事务六-Seata TCC模式-Spring Cloud微服务案例(添加TCC事务) - liqiangbk - 博客园][95--_-Seata TCC_-Spring Cloud_TCC_ - liqiangbk -] > > [springcloud+eureka整合seata-tcc模式 - 云+社区 - 腾讯云][springcloud_eureka_seata-tcc_ - _ -] > > [Seata(TCC)+SpringCloud实现全局事务 - LifeOfCoding - 博客园][Seata_TCC_SpringCloud_ - LifeOfCoding -] > [seata 是不是要支持 spring cloud 使用tcc模式? · Issue \#2754 · seata/seata · GitHub][seata _ spring cloud _tcc_ _ Issue _2754 _ seata_seata _ GitHub] # 综述 # 本文测试Seata TCC模式。(测试失败) 业务场景:创建订单时,order微服务先预生成订单(订单状态为创建中),再调用storage的feign来减库存,再调用account的feign来减账户余额,最后将订单状态改为已完成。 所用技术栈:springboot、springcloud、mysql、mybatis-plus、eureka、gateway。 所用插件:lombok 本文所有源码:[https://gitee.com/shapeless/demo\_SpringCloud/tree/seata-tcc/][https_gitee.com_shapeless_demo_SpringCloud_tree_seata-tcc] # 与AT模式的公共部分 # **其他网址** > [分布式事务系列--Seata AT(starter)\_feiying0canglang的博客-CSDN博客][--Seata AT_starter_feiying0canglang_-CSDN] **简介** > 本部分包含三项:seata-server安装/配置、建库建表、业务微服务配置Seata。 > > **不同点** > > 1. **业务的undo\_log表** > TCC无需业务微服务的undo\_log表,而AT需要。即:“建库建表”=> “**业务事务表**”。对应的项也无需配置(配置了也不会用到):“业务微服务配置Seata”=> “各自配置”=> file.conf->client-> undo-> logTable # 幂等 # 第一阶段:Try,第二阶段:Confirm、Cancel。第二阶段为了处理**幂等问题**添加一个工具类ResultHolder。这个工具也可以在第二阶段 Confirm 或 Cancel 阶段对第一阶段的成功与否进行判断,在第一阶段成功时需要保存一个标识。 幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了了副作用。举个最简单的支付例子:用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣了钱,流水记录也变成了两条。 [--Seata--TCC_feign_IT_-CSDN]: https://knife.blog.csdn.net/article/details/111867906 [seata-samples_tcc at master _ seata_seata-samples _ GitHub]: https://github.com/seata/seata-samples/tree/master/tcc [95--_-Seata TCC_-Spring Cloud_TCC_ - liqiangbk -]: https://www.cnblogs.com/liqbk/p/13643790.html [springcloud_eureka_seata-tcc_ - _ -]: https://cloud.tencent.com/developer/article/1688973 [Seata_TCC_SpringCloud_ - LifeOfCoding -]: https://www.cnblogs.com/life-of-coding/p/13289385.html [seata _ spring cloud _tcc_ _ Issue _2754 _ seata_seata _ GitHub]: https://github.com/ppj19891020/seata-tcc-feign-demo [https_gitee.com_shapeless_demo_SpringCloud_tree_seata-tcc]: https://gitee.com/shapeless/demo_SpringCloud/tree/seata-tcc/ [--Seata AT_starter_feiying0canglang_-CSDN]: https://blog.csdn.net/feiying0canglang/article/details/112600939
相关 【分布式事务】分布式事务Seata 文章目录 前言 什么是分布式事务? (1)数据库分库分表就产生了分布式事务; (2)项目拆分服务化也产生了分布式事务; 一、W 客官°小女子只卖身不卖艺/ 2023年10月09日 13:49/ 0 赞/ 72 阅读
相关 分布式事务(二)分布式事务方案 文章目录 什么是分布式事务 理论部分 CAP BASE 分布式事务方案 什么是分布式事务 首先这是普通事务: ![ 太过爱你忘了你带给我的痛/ 2023年02月28日 01:29/ 0 赞/ 13 阅读
相关 分布式-分布式事务 分布式事务 文章目录 分布式事务 一,本地消息表 二,2PC 两阶段提交 三,3PC 三段式提交 四,T 待我称王封你为后i/ 2022年11月27日 15:40/ 0 赞/ 334 阅读
相关 分布式事务01-分布式事务概述 文章目录 1.分布式事务产生的背景 1.1 分布式事务在不同场景下如何产生 1.2 案例 2.事务理论知识 2.1 AC 旧城等待,/ 2022年04月25日 09:54/ 0 赞/ 397 阅读
相关 分布式事务 一、前言 在单个数据库实例时候,我们可以使用一个数据源的事务([本地事务][Link 1] )来保证事务内的多个操作要么全部执行生效,要么全部不生效。在多数据库实例节点时 冷不防/ 2022年04月14日 02:09/ 0 赞/ 412 阅读
相关 分布式事务 什么是分布式事务 分布式事务涉及到操作多个数据库的事务,分布式事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于分布式系统的`不同节点上`。一个分布式事务可 Dear 丶/ 2022年03月10日 15:27/ 0 赞/ 287 阅读
相关 分布式事务 1、分布式事务产生的背景 在微服务环境下,因为会根据不同的业务会拆分成不同的服务,比如会员服务、订单服务、商品服务等,让专业的人做专业的事情,每个服务都有自己独立的数据库,并 - 日理万妓/ 2021年10月25日 14:09/ 0 赞/ 493 阅读
相关 分布式事务 阅读: 深入理解分布式事务,高并发下分布式事务的解决方案 [https://blog.csdn.net/qq\_32534441/article/details/890 红太狼/ 2021年10月13日 01:13/ 0 赞/ 518 阅读
相关 分布式事务 在分布式系统中,为了保证数据的高可用,通常,我们会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。为了对用户提供正确的 CRUD 等语义,我们需... 灰太狼/ 2020年04月24日 17:42/ 0 赞/ 990 阅读
还没有评论,来说两句吧...