摘要:下面给出一个分布式事务方案如下图补偿情况分析当成功失败处理未成功的消息重新发消息当成功成功失败检查消息表中是否执行过,执行过跳过,直接最终达到一致性优点经典实用缺点建消息表单记录有追述分布式方案有很多,各有优缺点,适合自己的项目就好
为什么用分布式
随着业务量激增,单个数据库的性能产生瓶颈的时候,我们会对数据库进行分区,这时单个数据库的事务已经不能适应这种情况了,在集群环境下,想保证集群事务ACID是很难的,即使能达到那么效率和性能会大幅下降
后来就引入一个新的理论CAP
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容忍性) 可靠性
任何分布式系统只可同时满足二点,没法三者兼顾。
下面给出一个分布式事务方案
如下图:
4补偿 情况分析:
当 1 成功 2 失败 处理未成功的消息(重新发消息)
当 1 成功 2 成功 3 失败 检查B消息表中是否执行过UUID,执行过跳过2,直接3
最终达到一致性
优点:经典实用
缺点:建消息表(单记录有追述)
分布式方案有很多,各有优缺点,适合自己的项目就好
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68472.html
摘要:分布式事务技术理论定理。接下来我们看看分布式事务有哪几种实现方案。基于协调者与参与者的思想设定,分别提出了与实现分布式事务。 这次使用分布式事务框架过程中了学习了一些分布式事务知识,所以本文我们就来聊聊分布式事务那些事。首先我们先回顾下什么是事务。 事务 什么是事务?这个作为后端开发,日常开发中只要与数据库有交互,肯定就会使用过事务。现在摘抄一段wiki的解释,解释下什么是事务。 是数...
摘要:如上图所示,的实际上是已中间件的形式放在应用层,不用依赖数据库对协议的支持,完全剥离了分布式事务方案对数据库在协议支持上的要求。 微信公众号「后端进阶」,专注后端技术分享:Java、Golang、WEB框架、分布式中间件、服务治理等等。 在微服务架构体系下,我们可以按照业务模块分层设计,单独部署,减轻了服务部署压力,也解耦了业务的耦合,避免了应用逐渐变成一个庞然怪物,从而可以轻松扩展,...
摘要:对于设计分布式系统来说不仅仅是分布式事务的架构师来说,就是你的入门理论。分布式事务解决方案有了上面的理论基础后,这里介绍开始介绍几种常见的分布式事务的解决方案。是否真的要分布式事务在说方案之前,首先你一 事务的具体定义:事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整...
阅读 1622·2021-09-23 11:31
阅读 930·2021-09-23 11:22
阅读 1354·2021-09-22 15:41
阅读 4087·2021-09-03 10:28
阅读 2923·2019-08-30 15:55
阅读 3550·2019-08-30 15:55
阅读 1969·2019-08-30 15:44
阅读 2732·2019-08-30 13:50