`

分布式事物解决方案

 
阅读更多
目前采用的三种解决方案:
1、定期校队
2、TCC

Try: 尝试执行业务
完成所有业务检查(一致性)
预留必须业务资源(准隔离性)

Confirm: 确认执行业务
真正执行业务
不作任何业务检查
只使用Try阶段预留的业务资源
Confirm操作满足幂等性

Cancel: 取消执行业务
释放Try阶段预留的业务资源
Cancel操作满足幂等生

3、基于可靠消息
可靠消息
实现:

业务活动的主动方,在完成业务处理的同一个本地事务中,记录消息数据
业务处理事务提交后、通过实时消息通知业务被动方,实时通知成功后删除消息数据
消息恢复系统定期找到未成功发送的消息,交给实时消息服务补发送
约束:

被动方的处理结果不影响主动方的处理
被动方的消息处理操作是幂等操作
成本:

可靠消息系统建设成本
消息数据CRUD成本
适用范围

对最终一致性时间敏感度较高
降低业务被动方实现成本

实现方式2:

业务处理在业务事务提交前,向实时消息服务请求发送消息,实时消息服务只记录消息数据,而不真正发送
业务处理服务在业务事务提交后,向实时消息服务确认发送。只有在得到确认发送指令后,实时消息服务才真正发送消息
业务处理在业务事务回滚后,向实时消息服务取消发送
消息状态确认系统定期找到未确认发送或回溯的消息,向业务处理服务询问消息状态,业务处理服务根据消息ID或消息内容确定该消息是否有效。
成本

一次消息发送需要两次请求
业务处理服务需实现消息状态回查接口
优点:
消息数据独立存储、独立伸缩
降低业务系统与消息系统间的耦合


CAP定理
对于共享数据系统,只能同时拥有以下三项中的两个:
Consistency(一致性): 所有 用户看到一致的数据
Availability(可用性): 对数据更新具备高可用性
Tolerance to Network Partition(分区容忍性): 以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择


分布式事务,本质上是对多个数据库的事务进行统一控制,按照控制力度可以分为:不控制、部分控制和完全控制。不控制就是不引入分布式事务,部分控制就是各种变种的两阶段提交,包括上面提到的消息事务+最终一致性、TCC模式,而完全控制就是完全实现两阶段提交。部分控制的好处是并发量和性能很好,缺点是数据一致性减弱了,完全控制则是牺牲了性能,保障了一致性,具体用哪种方式,最终还是取决于业务场景。作为技术人员,一定不能忘了技术是为业务服务的,不要为了技术而技术,针对不同业务进行技术选型也是一种很重要的能力!
分享到:
评论

相关推荐

    分布式事务解决方案

    分布式事务解决方案。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    某果学院 微服务分布式事物解决方案

    3、常用的分布式事务解决方案介绍 4、消息发送一致性(可靠消息的前提保障) 5、消息发送一致性的异常流程处理 6、常规MQ队列消息的处理流程和特点 7、消息重复发送问题及业务接口的幂等性设计 8、可靠消息最终一致...

    net 2.0 分布式事务解决方案有原代码

    net 2.0 分布式事务解决方案有原代码,绝对可以运行。绝对原创。

    SpringCloud2.0.5集成LCN分布式事物最新解决方案

    SpringCloud2.0.5集成LCN分布式事物最新解决方案,内含tx-lcn运行tx-manager,然后运行lcn-cloud2.0我自己写的demo即可跑起来, maven jar包我都已经给打包好了加入到项目中即可应用 亲测不懂可以加我qq问329434396。

    分布式事务解决方案框架(LCN)

    本文来自于简书,本章主要介绍了分布式事物概念与分布式事物产生原因,以及分布式事物理论知识和解决方案,希望对您的学习有所帮助。 事物特性(ACID) 原子性(A)所谓的原子性就是说,在整个事务中的所有操作,要么...

    6种分布式事务最终一致性解决方案,一次性说清.docx

    6种分布式事务最终一致性解决方案,一次性说清.docx

    大型网站架构的微服务分布式架构的分布式事务处理教程31集

    龙果学院中华石杉主讲的大型网站分布式微服务分布式事务处理教程,很全配资料,希望对你有帮助的。 微服务架构的分布式事务解决方案,完整31讲-龙果学院

    蚂蚁课堂(每特学院)第一期-Java高端培训视频教程

    0030--MySQL优化之SQL语句调优.zip ├─0031--MySQL优化之分表分库与读写分离.zip ├─0032--Java培优结业典礼第一天(面试题回顾).zip ├─0033--Java培训就业典礼第二天(分布式事物解决方案).zip ├─0034.使用...

    阿里P8架构师谈:高并发架构解决方案总结

    用户角度:网站打不开服务器雪崩:通过表设计,如:记录表添加唯一约束,数据处理逻辑使用事物防止并发下的数据错乱问题。通过服务端锁进程防止包并发下的数据错乱问题。这里主要讲述的是在并发请求下的数据逻辑处理...

    transactions-dubbo:dubbo项目基于atomikos的分布式事务管理

    atomikos本身不支持多个微服务项目间的事务管理,transactions-dubbo正好弥补了atomikos的这一不足,为微服务环境下事务的强一致性和最终一致性提供解决方案。 ​ 项目现在有很多不足,微服务框架只支持dubbo,...

    EMC VPLEX:本地和分布式联邦的解决方案

    今天,所有的事物都变得更加富有流动性。EMC针对这个趋势而发布了新的VPLEX系列以及最初的两款产品:VPLEX Local和VPLEX Metro。EMC VPLEX提供了均衡的数据中心负载和增强的弹性,更好的节能方案以及自动化灾难防护...

    分布式事务的N种实现

    在微服务架构中,随着服务的逐步拆分,数据库私有已经成为共识,这也导致所面临的分布式事务问题成为微服务落地过程中一个非常难以逾越的障碍,但是目前尚没有一个完整通用的解决方案。其实不仅仅是在微服务架构中,...

    互联网大厂的负载均衡解决方案

    课程一共10节,分别讲解了负载均衡随机算法,阿里分布式事务框架seata原理解析,滴滴Tinyid生成分布式ID思路,负载均衡+算法+事物解决方案+阿里分布式事务框架seata。 「互联网大厂的负载均衡解决方案」...

    Apache ShardingSphere分布式数据库中间层生态圈 v5.3.2 alpha

    Apache ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由JDBC、Proxy和Sidecar(规划中)这3款相互独立,却又能够混合部署配合使用的产品组成。它们均提供标准化的数据分片、分布式事务和...

    [案例]医药GSP信息系统管理解决方案[策划&调研].doc

    医药GSP信息系统管理解决方案 本解决方案旨在提供一个完整的信息系统管理解决方案,以满足医药行业的质量管理需求。该解决方案基于Good Supply Practice(GSP)标准,旨在提高医药企业的质量管理意识,规范内部管理...

    分布式文件系统HDFS的起源、架构、组成、特性以及数据操作方式

    hdfs全程是HadoopDistributedFileSystem,是一个分布式文件系统。分布式是近几年非常火的技术概念,无论是云计算、大数据还是...那么我们就先看看“一般的”分布式系统需要解决那些问题、这些问题的通用解决方案和特性

    基于Ignite+Lucene+Log4j2的分布式统一日志查询最佳实践

    应用开发时的常规做法,是调用日志系统的API进行日志的记录,日志的具体记录方式,通过日志系统实现库对应的配置文件进行配置,...问题是比较明确的,需求也比较清晰,就是希望能设计一套解决方案解决这个问题,大致整

    paascloud-demo:微服务学习

    该项目没有实现任何业务代码,主要为学习微服务架构思想,Spring Sloud框架集成和常见问题的解决方案,微服务项目部署方案,了解vue框架。 技术点: 核心技术为springcloud+vue两个主流框架,使用consul实现服务...

Global site tag (gtag.js) - Google Analytics