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

网站开发的地图接口下载爱城市网app官方网站

网站开发的地图接口,下载爱城市网app官方网站,深圳手机网站建设多少钱,网站怎么做移动端适配提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 分布式事务Seata 1.XA模式1.1.两阶段提交1.2.Seata的XA模型1.3.优缺点 AT模式2.1.Seata的AT模型2.2.流程梳理2.3.AT与XA的区别 分布式事务 > 事务–01—CAP理论…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 分布式事务
    • Seata
  • 1.XA模式
    • 1.1.两阶段提交
    • 1.2.Seata的XA模型
    • 1.3.优缺点
  • AT模式
    • 2.1.Seata的AT模型
    • 2.2.流程梳理
    • 2.3.AT与XA的区别


分布式事务

`> 事务–01—CAP理论、 BASE 理论

在这里插入图片描述
在这里插入图片描述

Seata

Seata官网 https://seata.io/zh-cn/docs/overview/what-is-seata.html
在这里插入图片描述

1.XA模式

Seata支持四种不同的分布式事务解决方案:

  • XA
  • TCC
  • AT
  • SAGA

1.1.两阶段提交

XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。

A是规范,目前主流数据库都实现了这种规范,实现的原理都是基于两阶段提交

正常情况:
在这里插入图片描述
异常情况:
在这里插入图片描述
一阶段:

  • 事务协调者通知每个事务参与者执行本地事务
  • 本地事务执行完成后报告事务执行状态给事务协调者,此时事务不提交,继续持有数据库锁

二阶段:

  • 事务协调者基于一阶段的报告来判断下一步操作
  • 如果一阶段都成功,则通知所有事务参与者,提交事务
  • 如果一阶段任意一个参与者失败,则通知所有事务参与者回滚事务

1.2.Seata的XA模型

Seata对原始的XA模式做了简单的封装和改造,以适应自己的事务模型,基本架构如图:
在这里插入图片描述

RM一阶段的工作:

  1. 注册分支事务到TC
  2. 执行分支业务sql但不提交
  3. 报告执行状态到TC

TC二阶段的工作:

  1. TC检测各分支事务执行状态
  2. 如果都成功,通知所有RM提交事务
  3. 如果有失败,通知所有RM回滚事务

RM二阶段的工作:

  • 接收TC指令,提交或回滚事务

1.3.优缺点

XA模式的优点是什么?

  • 事务的强一致性,满足ACID原则
  • 常用数据库都支持,实现简单,并且没有代码侵入

XA模式的缺点是什么?

  • 因为一阶段需要锁定数据库资源,等待二阶段结束才释放,性能较差
  • 依赖关系型数据库实现事务

AT模式

AT模式同样是分阶段提交的事务模型,不过缺弥补了XA模型中资源锁定周期过长的缺陷。

2.1.Seata的AT模型

基本流程图:
在这里插入图片描述
阶段一RM的工作:

  • 注册分支事务
  • 记录undo-log(数据快照)
  • 执行业务sql并提交
  • 报告事务状态

阶段二提交时RM的工作:

  • 删除undo-log即可
    阶段二回滚时RM的工作:
  • 根据undo-log恢复数据到更新前

2.2.流程梳理

比如,现在有一个数据库表,记录用户余额:
AT模式下,当前分支事务执行流程如下:
一阶段:

  1. TM发起并注册全局事务到TC
  2. TM调用分支事务
  3. 分支事务准备执行业务SQL
  4. RM拦截业务SQL,根据where条件查询原始数据,形成快照。
{"id": 1, "money": 100
}
  1. RM执行业务SQL,提交本地事务,释放数据库锁。此时 money = 90
  2. RM报告本地事务状态给TC

二阶段:

  1. TM通知TC事务结束
  2. TC检查分支事务状态
  3. 如果都成功,则立即删除快照
  4. 如果有分支事务失败,需要回滚。读取快照数据({“id”: 1, “money”: 100}),将快照恢复到数据库。此时数据库再次恢复为100

流程图:
在这里插入图片描述

2.3.AT与XA的区别

简述AT模式与XA模式最大的区别是什么?

  • XA模式一阶段不提交事务,锁定资源;AT模式一阶段直接提交,不锁定资源。
  • XA模式依赖数据库机制实现回滚;AT模式利用数据快照实现数据回滚。
  • XA模式强一致;AT模式最终一致

可见,AT模式使用起来更加简单,无业务侵入,性能更好。因此企业90%的分布式事务都可以用AT模式来解决。

http://www.zhongyajixie.com/news/44926.html

相关文章:

  • 网站建设 类seo点击排名
  • wordpress 其他用户游戏行业seo整站优化
  • 红色企业网站苹果cms永久免费全能建站程序
  • 常熟网站制作设计公众号推广
  • 我的文档上传到网站 做链接天津seo培训
  • B2B平台服务筛选 网站建设百度系优化
  • 大连网站优化方案便宜的seo官网优化
  • 做网站的计划概要电商seo
  • 网站制作banner 素材怎么进行网站推广
  • 深圳做微商网站网上竞价平台
  • 济南住房和城乡建设局网站如何在各种网站投放广告
  • 如何做古诗词网站百度公司官方网站
  • wordpress分类内没有文章seo怎么收费seo
  • 吉林科技网站建设太原seo关键词优化
  • 什么建站程序好收录泉州网站seo外包公司
  • 石家庄学网站建设网站推广外贸
  • 做网站建设的企业还有那些广州品牌营销服务
  • 东莞 外贸网站建设网络营销渠道名词解释
  • p网站建设2023年7月疫情还会严重吗
  • 在县城做商城网站放心网站推广优化咨询
  • 东莞清溪镇做网站公司爱链接外链购买
  • 做网站用建站模版好还是定制好品牌关键词排名优化怎么做
  • 开发建设网站百度的广告推广需要多少费用
  • 番禺建设网站系统营销案例100例
  • 企业做网站公司哪家好关键词首页优化
  • 网站优化用什么软件百度关键词seo推广
  • vi设计与网站建设招标文件西安霸屏推广
  • 网站建设智能优化首页优化公司
  • 诊断网站seo现状营销软文300字范文
  • 博彩导航网站怎么做深圳网络推广网站