中国招投标网站官网珠海建网站的联系方式

张小明 2026/1/9 21:23:10
中国招投标网站官网,珠海建网站的联系方式,灌云住房和城乡建设网站,阿里云网站建设考试本文总结#xff1a;本文探讨了分布式事务的概念及解决方案。分布式事务指在分布式系统中多个服务协同完成业务时#xff0c;需确保各服务事务同时成功或失败。针对这一问题#xff0c;文章分析了多种解决方案#xff1a;1#xff09;2PC/XA协议采用强一致性#xff0c;通…本文总结本文探讨了分布式事务的概念及解决方案。分布式事务指在分布式系统中多个服务协同完成业务时需确保各服务事务同时成功或失败。针对这一问题文章分析了多种解决方案12PC/XA协议采用强一致性通过两阶段提交实现2Seata的AT模式利用快照实现最终一致性3TCC模式通过Try-Confirm-Cancel三阶段处理事务4消息队列方案通过异步消息保证最终一致5Saga模式适用于长流程业务。选择方案时应根据业务需求在强一致性和最终一致性间权衡大多数场景可采用最终一致性方案。分布式事务分布式事务是什么呢在分布式系统中如果一个业务需要多个服务合作一起完成并且每个服务都有事务然后多个事务必须要同时成功或同时失败这就是分布式事务。分布式事务问题多个服务之间各执行各的比如下图用户执行下单支付操作下单支付成功则购物车商品清空成功这时假如我们的库存本来就是0库存不足那库存扣减就会失败。也就是说下单服务和购物车服务都执行成功了而库存执行失败那这整个业务就出问题了只有前两个服务数据改变最后一个不变这就是分布式事务的问题。解决思想就是要让各个服务能感知到彼此的事务状态是否一致解决分布式事务问题可以使用Seata提供的各种解决方案。TC (Transaction Coordinator) - 事务协调者维护全局和分支事务的状态驱动全局事务提交或回滚。TM (Transaction Manager) - 事务管理器定义全局事务的范围开始全局事务、提交或回滚全局事务。RM (Resource Manager) - 资源管理器管理分支事务处理的资源与TC交谈以注册分支事务和报告分支事务的状态并驱动分支事务提交或回滚。有两种根本思路1、强一致性上帝视角进行指挥2、最终一致性事后约定进行补救分布式事务解决方案介绍方案A2PC/XA协议强一致性例子现场投票表决全员举手才能通过。第一阶段准备投票协调者总指挥问订单系统“能创建订单吗” 订单系统创建订单但不提交回复“可以。”同样问购物车、库存系统都预执行并回复“可以”。第二阶段提交/回滚宣布结果如果全部回复“可以”协调者下令“全体正式提交”如果任何一个回复“不行”协调者下令“全体回滚撤销”方案BSeata中的AT模式最终一致性例子投票时先拍照存底一旦失败就按照片复原。第一阶段拍照预执行每个系统在本地直接提交业务但同时拍下数据修改前的“快照”存入undo_log表。第二阶段成功总指挥说成功大家把“快照”删掉即可。失败总指挥说失败大家根据undo_log里的“快照”自动执行反向SQL把数据恢复原样。XA模式和AT的区别1、XA模式第一阶段不提交事务锁定资源AT模式第一阶段就直接提交不锁定资源。2、XA模式依赖于数据库机制事务回滚而AT是基于快照进行回滚的3、XA模式强一致性AT模式最终一致性方案CTCC模式最终一致性TCC模式初衷是强一致性但可能会因为网络延迟、服务中断等外部因素问题使它几乎不可能是强一致性不得不降为最终一致性。还是以订单服务---购物车服务---库存服务为例。“预备、确认、取消”三步骤这不是自动的需要你为每个系统写三个方法1、Try尝试/预备冻结资源而非真正扣除。订单系统订单状态置为“待确认”。购物车系统锁定冻结购物车真实购物车商品数不变。库存系统对应商品预扣-1标记为“待生效”。2、Confirm确认Try都成功才真正执行。订单系统状态变“成功”。购物车系统清空已冻结的购物车商品。库存系统将预扣商品变为“有效”。3、Cancel取消任何一个Try失败则释放资源。订单系统状态变“已取消”。购物车系统释放冻结的购物车商品。库存系统清除预扣减的库存。TCC模式总结性能好隔离性强。但侵入性极大需要写三倍代码并且要处理幂等、空回滚等复杂问题。适用于金融、库存等严格要求的情景。方案D基于消息队列最终一致性例子发短信通知直到对方确认为止。核心是依靠可靠的消息传递来驱动下游事务。流程1、订单系统和购物车系统在同一个数据库事务中完成并同时向消息队列写入一条“订单已创建请扣减库存”的消息或插入本地消息表。2、事务提交。3、消息队列保证把消息送达库存系统。4、库存系统消费消息为扣减商品数量。如果失败消息队列会重试。关键消息的可靠存储和可靠投递。库存服务需要幂等设计防止因重试导致库存扣减多次。消息队列总结彻底解耦高性能高可用。但只保证最终一致性设计时重点考虑消息可靠性、消费者幂等。方案ESaga模式最终一致性例子执行一个长长的清单任何一步失败就倒着往回取消。适合流程非常长分钟/小时级的业务比如快递订机票、酒店。流程1、订单系统 - 成功。2、库存系统 - 成功。3、调用外部物流系统安排配送 -失败补救立即启动“反向操作”流程1、执行库存系统的补偿逻辑回滚扣减。2、执行订单系统的补偿逻辑取消订单。Saga总结性能极高适合长流程。但补偿逻辑设计复杂且缺乏隔离性可能脏读需要业务能够容忍。如何进行分布式事务解决方案选择一句话总结就是XA/2PC强一致但性能差仅用于传统银行核心TCC模式高性能最终一致适用于金融、库存等需要资源预留的场景AT模式无侵入最终一致适合大多数普通业务Saga模式长流程最终一致适合旅行预订、保险理赔消息队列异步最终一致适合通知、数据同步等解耦场景核心原则99%的业务场景都可以接受最终一致性因此分布式事务的重点不是追求强一致而是在接受最终一致的前提下根据具体业务特点选择最合适的方案。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站如何规划深圳网站建设制作企业

智能农田管理 目录 基于springboot vue智能农田管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue智能农田管理系统 一、前言 博主介绍&…

张小明 2026/1/6 3:51:32 网站建设

网站建设 软件有哪些方面凡高网站建设

在Android生态系统中,应用保活一直是开发者面临的核心挑战。随着Android系统的不断升级,后台应用管理机制日益严格,导致音乐播放器、导航应用、健康追踪等需要持续运行的应用频繁被系统杀死。本文将深入分析Android保活的技术困境&#xff0c…

张小明 2026/1/6 3:51:50 网站建设

建设保障房网站首页业务员怎样网上找客户

如何快速掌握原神工具箱:提升游戏效率的终极指南 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trending/sn/Snap.Hutao …

张小明 2026/1/6 14:35:18 网站建设

个人备案 网站名称 例子嘉兴做网站软件

引言:为什么选择 DevUI? 在开发企业级中后台系统时,你是否也遇到过这些问题? 每次都要从零搭建表格、表单、弹窗?不同页面风格不统一,设计师反复返工?想支持暗黑模式、品牌定制,却…

张小明 2026/1/1 3:44:30 网站建设

去什么网站可以做ctf的题目2023年最新科技新闻摘抄

EB Garamond 12:重塑文艺复兴印刷艺术的数字杰作 【免费下载链接】EBGaramond12 项目地址: https://gitcode.com/gh_mirrors/eb/EBGaramond12 在数字设计日益同质化的今天,EB Garamond 12 项目为追求独特美学体验的设计师们带来了一股清新之风。…

张小明 2025/12/30 2:25:52 网站建设