[发明专利]一种分布式事务最终一致性方法有效

专利信息
申请号: 202011342691.5 申请日: 2020-11-25
公开(公告)号: CN112671827B 公开(公告)日: 2023-03-07
发明(设计)人: 王君 申请(专利权)人: 紫光云技术有限公司
主分类号: H04L67/1095 分类号: H04L67/1095;H04L67/133;G06F9/46;G06F16/23
代理公司: 天津滨海科纬知识产权代理有限公司 12211 代理人: 杨正律
地址: 300459 天津市滨海新区*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 分布式 事务 最终 一致性 方法
【说明书】:

发明提供了一种分布式事务最终一致性方法,步骤依次为消息的预发送、执行业务逻辑、服务A更新消息状态、发送的消息、消息消费、执行业务逻辑、服务B更新消息状态、消息确认服务A、消息确认服务B、异常处理,本发明所述的一种分布式事务最终一致性方法,提供单独的消息服务和对应的消息SDK,相对强一致性方案实现简单,提高系统并发量;相对于TCC方案,侵入性小,实现简单、开发维护成本低;能够分布式事务的最终完成,解决现有最终一致性方案不能完全保证一致性的问题。

技术领域

本发明属于事务处理技术领域,尤其是涉及一种分布式事务最终一致性方法。

背景技术

随着分布式服务架构的流行与普及,原来在单体应用中执行的多个逻辑操作,现在被拆分成了多个服务之间的远程调用。虽然服务化为我们的系统带来了水平伸缩的能力,然而随之而来挑战就是分布式事务问题,多个服务之间使用自己单独维护的数据库,它们彼此之间不在同一个事务中,假如A执行成功了,B执行却失败了,而A的事务此时已经提交,无法回滚,那么最终就会导致两边数据不一致性的问题;尽管很早之前就有基于两阶段提交的XA分布式事务,但是这类方案因为需要资源的全局锁定,导致性能极差;因此后面就逐渐衍生出了消息最终一致性、TCC等柔性事务的分布式事务方案;

1、消息生成者发送消息;

2、MQ收到消息,将消息进行持久化,在存储中新增一条记录;

3、返回ACK给生产者;

4、MQ推消息给对应的消费者,然后等待消费者返回ACK;

5、如果消息消费者在指定时间内成功返回ACK,那么MQ认为消息成功,在存储中删除消息,即执行第6步;如果MQ在指定时间内没有收到ACK,则认为消息消费失败,会尝试重新推消息,重复执行4、5、6步骤;

6、MQ删除消息;

现有技术的客观缺点:

两阶段提交XA分布式事务:实现复杂,强一致性,严重影响并发性能;TCC柔性事务分布式方案:对微服务的侵入性强,微服务的每个事务都必须实现try、confirm、cancel等3个方法,开发成本高,今后维护改造的成本也高;现有普通消息最终一致性方案:存在一致性的问题;例如:我们以订单创建为例,订单系统先创建订单(本地事务),再发送消息给下游处理;如果订单创建成功,然而消息没有发送出去,那么下游所有系统都无法感知到这个事件,会出现脏数据;如果先发送订单消息,再创建订单;那么就有可能消息发送成功,但是在订单创建的时候却失败了,此时下游系统却认为这个订单已经创建,也会出现脏数据。

发明内容

有鉴于此,本发明旨在提出一种分布式事务最终一致性方法,以云计算分布式架构下,不同的服务之间有事务一致性的要求,本发明主要解决这种场景下事务最终一致性的问题。

为达到上述目的,本发明的技术方案是这样实现的:

一种分布式事务最终一致性方法,包括以下步骤

S1、消息的预发送:服务A在执行本地业务逻辑之前,首先通过消息SDK调用消息服务接口,将消息保存消费服务对应数据库中;

S2、执行业务逻辑:服务A执行需要保证事务的业务逻辑;

S3、服务A更新消息状态:服务A通过SDK调用消息服务更新消息状态为CanSend;

S4、发送的消息:消息服务中的消息发送任务,定时的从消息服务的数据库中获取可发送但未发送状态的消息,并发送到RabbitMQ中;

S5、消息消费:消息消费者-服务B,通过SDK注册消费者到RabbitMQ,当RabbitMQ中存在消息则接收消息并消费;

S6、执行业务逻辑:服务B执行事务内的业务逻辑;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云技术有限公司,未经紫光云技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011342691.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top