[发明专利]一种基于MQ的分布式事务实现方法有效
申请号: | 202110118113.1 | 申请日: | 2021-01-28 |
公开(公告)号: | CN112882801B | 公开(公告)日: | 2022-09-02 |
发明(设计)人: | 刘山红;冯德贵;欧平均 | 申请(专利权)人: | 杭州衣科信息技术股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/23;G06F16/242;G06F16/25;G06F16/28 |
代理公司: | 杭州天昊专利代理事务所(特殊普通合伙) 33283 | 代理人: | 程皓 |
地址: | 311100 浙江省杭州市临*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mq 分布式 事务 实现 方法 | ||
本发明公开了一种基于MQ的分布式事务实现方法,包括事务消息服务模块和事务消息客户端插件模块;事务消息服务模块包括接收消息、提交/回滚消息和消息检查处理;事务消息客户端插件模块,实现事务消息客户端插件嵌入到事务发起端和事务接收端;本发明提供使用独立的事务消息服务,用于临时缓存事务数据,对主业务而言,仅增加了一次发送消息到事务消息服务的开销,使用简单,性能高的一种基于MQ的分布式事务实现方法。
技术领域
本发明涉及软件开发数据一致性技术领域,更具体的说,它涉及一种基于MQ的分布式事务实现方法。
背景技术
在大型的Saas软件内都需要构建强大的营销中台,以支持商户在线上、线下一体化营销中需要的灵活多变场景。软件应允许商户针对不同场景建立自定义规则,制定不同营销优惠策略。此类系统存在很多的问题如难以进行灰度热部署进行系统的升级管理、系统在事务处理中难以实现分布式处理、缺少强有力的表达方式的系统搭建,营销类系统对于打印统计也要求极高,目前难以实现快速的移动端打印等。其中,系统在事务处理中难以实现分布式处理成为重要问题之一。
传统单机模式下,数据库事务已完美的解决了数据一致性问题。但分布式环境下,数据库单机事务已不适用,需要采用新的方案。目前保证分布式环境下数据的一致性,目前主要有这些方式:
(1)基于传统数据库的分布式事务。跟单机数据库事务类似,一般采用两阶段提交方式。这种方案提供了数据的强一致性。基于数据库的分布式事务性能太低,难于满足互联网业务的高并发要求。
(2)TCC模式。即try-confirm/cancel模式。所有服务先进行try操作,都成功后,再统一成交。有任意一个失败时,全部回滚。TCC模式,使用相对复杂,性能也不是很好,主要适用于事务提交前有前置要求的场合。
(3)可靠事件模式。一般是在本地数据库中增加一张事件记录表。随本地事务一起生成事件记录。本地事务完成后,异步发送事件到其他服务,其他服务接收到事件消息后,完成业务。但可靠事件模式需要在本地数据库表中记录事件,加大数据库负担。
发明内容
本发明克服了现有技术的不足,提供使用独立的事务消息服务,用于临时缓存事务数据,对主业务而言,仅增加了一次发送消息到事务消息服务的开销,使用简单,性能高的一种基于MQ的分布式事务实现方法。
本发明的技术方案如下:
一种基于MQ的分布式事务实现方法,包括事务消息服务模块和事务消息客户端插件模块;
事务消息服务模块包括接收消息、提交/回滚消息和消息检查处理;
接收消息是事务消息服务模块提供的一个接收消息接口,供事务消息服务模块的事务发起端调用;事务发起端调用接收消息接口后,事务消息服务模块会缓存消息数据到缓存服务器;
提交/回滚消息由事务消息服务提供提交/回滚消息接口,供事务消息服务模块的事务发起端调用;事务发起端调用提交消息接口后,事务消息服务从缓存服务器取出消息数据,发送数据到MQ服务器,发送成功后,从缓存服务器删除消息数据;事务发起端调用回滚消息接口后,事务消息服务从缓存服务器删除消息数据;
消息检查处理,事务发起端调用事务消息服务的接收消息接口后,如果发生意外没有调用事务消息的提交/回滚消息接口,消息数据将不会转发和删除,为避免这种情况造成数据不一致,事务消息服务启动定时任务,定时检查没有及时转发和删除的消息;检查到存在超时未处理的事务消息,回调事务发起端接口,确认发起端本地事务是否成功完成,成功时提交消息,失败则回滚消息;
事务消息客户端插件模块,实现事务消息客户端插件嵌入到事务发起端和事务接收端。
进一步的,事务消息客户端插件模块在事务发起端拦截spring本地事务操作,在spring本地事务提交或回滚操作前后进行事务消息相关处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州衣科信息技术股份有限公司,未经杭州衣科信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110118113.1/2.html,转载请声明来源钻瓜专利网。