springcloud3 分布式事务解决方案seata之AT模式5

这篇具有很好参考价值的文章主要介绍了springcloud3 分布式事务解决方案seata之AT模式5。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 seata的AT模式

1.1 AT模式与XA模式

1.XA模式一阶段不提交事务,锁定资源;AT模式一阶段直接提交,不锁定资源;

2.XA模式依赖数据库机制实现回滚;AT模式利用数据库快照实现数据回滚

3.XA模式强一致;AT模式最终一致。

1.2 AT模式原理

一阶段:

1.TM发起并注册全局事务到TC;

2.TM调用分支事务;

3.RM进行注册分支事务,记录undo-log(数据快照)、执行业务sql并提交、报告事务状态。
二阶段:
1.TM通知TC事务结束
2.TC检查分支事务状态
  a)如果都成功,则立即删除快照
  b)如果有分支事务失败,需要回滚。读取快照数据undo.log,将快照恢复到数据库

截图如下:

1.3  AT的优缺点

AT模式的优点:

1.一阶段完成直接提交事务,释放数据库资源,性能比较好;

2.利用全局锁实现读写隔离;

3.没有代码侵入,框架自动完成回滚和提交;

AT模式的缺点:

1.两阶段之间属于软状态,属于最终一致;2.框架的快照功能会影响性能,但比XA模式要好很多。

二  seata的操作案例

2.1  工程结构

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

2.2  设置切换seata模式

1.account

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

2.order:

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

3.storage

 springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

2.3  附件数据库

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

2.4 启动nacos,seata 

1.启动nacos

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

2.启动seata

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

2.5 测试

2.5.1 初始态数据表

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

2.5.2 正常下订单

1.请求地址: http://localhost:8082/order?userId=user202103032042012&commodityCode=100202003032041&count=2&money=200

2.访问

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

查看控制台:正常显示 

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

查看数据表:正常扣减 

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

2.5.3 大于库存量下单

1.请求: 请求数量20大于库存数量3

http://localhost:8082/order?userId=user202103032042012&commodityCode=100202003032041&count=20&money=200

2.访问地址

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

3.查看控制台:进行回滚

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式

查看数据表: 数据均回滚,没有脏数据。实现分布式事务功能,进行回滚

springcloud3 分布式事务解决方案seata之AT模式5,springcloud3,分布式文章来源地址https://www.toymoban.com/news/detail-732085.html

到了这里,关于springcloud3 分布式事务解决方案seata之AT模式5的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式事务(7):SpringCloud2.0整合LCN

    目前LCN版本已经升级为4.0了,但是官方没有SpringCloud2.0的demo案例。 因为LCN本身是开源的,有些大神对LCN框架源码做修改,可以支持SpringCloud2.0版本。 下载地址:https://download.csdn.net/download/u013938578/88251904 1 下载LCN服务端源码 https://download.csdn.net/download/u013938578/88251486 通过idea启动

    2024年02月11日
    浏览(28)
  • SpringCloud入门实战(十五)分布式事务框架Seata简介

    📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术,都可以先去官网先看看,更准确、更专业。 💐学习建议:2、然后记住每个技术最关键的特性(通常一句话或者

    2024年02月10日
    浏览(34)
  • 【springcloud微微服务】分布式事务框架Seata使用详解

    目录 一、前言 二、事务简介 2.1 原子性 2.2 一致性 2.3 隔离性 2.4 持久性

    2023年04月26日
    浏览(32)
  • ChatGPT:分布式事务解决方案

    随着互联网的发展和技术的不断更新,越来越多的应用程序开始采用分布式架构。然而,由于数据和处理逻辑的分散性和异构性,分布式环境下的事务处理面临着许多挑战。这时候就需要采用分布式事务来确保系统的一致性和可靠性。 分布式事务是指在分布式系统中,涉及多

    2023年04月12日
    浏览(75)
  • 【SpirngCloud】分布式事务解决方案

    1.1 CAP 理论 1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标: Consistency(一致性):用户访问分布式系统中的任意节点,得到的数据必须一致 Availability(可用性):用户访问集群中的任意健康节点,必须能得到响应,而不是超时或拒绝 Partition tolerance(分区容

    2024年02月15日
    浏览(32)
  • SpringCloud+Nacos集成Seata-1.7.0分布式事务

    Seata是一个比较成熟的分布式事务工具,非常好用,主流的的一套,网上大多都是1.4版本,以及不完整了,鄙人也是找了好久才找到有个1.7版本的详细教程(放在最后面了,毕竟是别人的技术,这里就当记录一下自己的解决方案) 首先我没去github下载相对应的seata,网址放下

    2024年02月11日
    浏览(31)
  • 【SpringCloud】微服务保护(Sentinel)和分布式事务(Seata)

    建议学完该系列前篇 【SpringCloud】商城项目拆分微服务各个组件学习 然后再来看本文 然后学习 【RabbitMQ】交换机、队列、可靠性保证和延迟消息 在微服务远程调用的过程中,还存在几个问题需要解决。 首先是业务健壮性问题: 例如在之前的查询购物车列表业务中,购物车

    2024年01月25日
    浏览(45)
  • 浅谈分布式事务及解决方案

    在讲述分布式事务的概念之前,我们先来回顾下事务相关的一些概念。 就是一个程序执行单元,里面的操作要么全部执行成功,要么全部执行失败,不允许只成功一半另外一半执行失败的事情发生。例如一段事务代码做了两次数据库更新操作,那么这两次数据库操作要么全部

    2024年02月08日
    浏览(39)
  • Apache Seata -- 一款开源的分布式事务解决方案

    1.1 分布式事务简介 (1)事务 事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。 (2)本地事务 ​ 在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于

    2024年03月17日
    浏览(45)
  • 分布式事务解决方案Seata(1.6.1)下载与基础配置

    seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 基于支持本地 ACID 事务的关系型数据库。 Java 应用,通过 JDBC 访问数据库。 两阶段提交协议的

    2023年04月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包