[发明专利]微服务架构下的事务管理方法、装置、设备及存储介质有效
| 申请号: | 202010737956.5 | 申请日: | 2020-07-28 |
| 公开(公告)号: | CN111813583B | 公开(公告)日: | 2023-06-20 |
| 发明(设计)人: | 林斌;施建安;庄一波;赵友平;孙志伟 | 申请(专利权)人: | 厦门市易联众易惠科技有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 厦门智慧呈睿知识产权代理事务所(普通合伙) 35222 | 代理人: | 陈晓思 |
| 地址: | 361000 福建省厦*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 微服 架构 事务管理 方法 装置 设备 存储 介质 | ||
本发明提供了一种微服务架构下的事务管理方法、装置、设备及存储介质,方法包括:获取由客户端发起的事务开启请求;对事务开启请求中的上下文信息进行拦截以获取注解信息,并在当注解信息指示当前事务为分布式XA事务时,构建分布式XA事务对象;当判断分布式XA事务对象进行了远程调用时,在事务开启请求中添加事务ID,并开启远程调用的分布式XA事务边界以及对参与节点进行数据写入;发起提交事务的请求,并发出包括事务ID的准备指令,以使得远程调用的参与节点在接收到准备指令时,根据所述事务ID以及映射关系获取对应的分支ID,再根据所述分支ID寻找本地分支以及本地资源执行准备指令。本发明实现一个分布式XA事务在多个应用实例上传播的能力。
技术领域
本发明涉及计算机技术领域,特别涉及一种微服务架构下的事务管理方法、装置、设备及存储介质
背景技术
在微服务架构下,一个完整的业务实体被拆分为多个应用实例进行支撑,每一个应用实例都负责管理其自身使用的数据源。业务场景当中有只需要一个应用实例参与只使用一个数据源的业务,也有需要多个应用实例交互使用多个数据源的业务。对于多个数据源参与的业务,就需要通过分布式XA事务来进行数据一致性和完整性的协调工作。然而目前业界提供的独立的分布式XA事务管理器仅能够在一个应用实例内管理多个数据源通过分布式XA事务协调,而无法跨越应用实例的边界进行分布式XA事务管理。
此外,在一个应用实例中,并非所有业务都需要其他应用服务的参与交互,也存在着部分业务只要使用自身的数据源即可。这种情况下,如果使用XA事务管理器,由于其只能管理XA事务,对于单一数据源也是使用XA事务,会带来性能的降低和资源的浪费等相关问题。
发明内容
有鉴于此,本发明的目的在于提供一种微服务架构下的事务管理方法、装置、设备及存储介质,能可以根据配置切换单机事务和XA事务,并支持跨越应用实例的边界进行分布式XA事务管理。
本发明实施例提供了一种微服务架构下的事务管理方法,包括:
获取由客户端发起的事务开启请求;其中,所述事务开启请求包括上下文信息;
对所述事务开启请求中的上下文信息进行拦截,并在当所述上下文信息指示当前事务为分布式XA事务时,构建分布式XA事务对象;
当判断所述分布式XA事务对象进行了远程调用时,在事务开启请求中添加事务ID,并开启远程调用的分布式XA事务边界以及对各个参与节点进行数据写入;其中,所述事务ID在远程调用过程中被不断传递至每个参与节点,所述参与节点将所述事务ID与自身的分支ID进行映射;
在写入数据成功后,发起提交事务的请求,以结束分布式XA事务边界,并发出包括事务ID的准备指令,以使得远程调用的参与节点在接收到准备指令时,根据所述事务ID以及映射关系获取对应的分支ID,再根据所述分支ID寻找本地分支以及本地资源执行准备指令,并反馈准备状态以及向下游节点传递所述准备指令;
在接收到所有参与节点反馈的准确状态后,根据所述准备状态进行事务的提交或者回滚。
优选地,还包括:
当所述上下文信息指示当前事务为单机事务时,构建单机事务对象,并在开启所述事务的节点进行事务的提及或者回滚。
优选地,对所述事务开启请求中的上下文信息进行拦截,具体为:
构建事务方法拦截器,并将所述事务方法拦截器的生效顺序配置在声明事务之前;
通过事务方法拦截器对事务开启请求进行拦截,以获取到用户在所述事务开启请求的方法中预先注解的上下文信息。
优选地,构建分布式XA事务对象具体为:
创建事务ID和分支ID,并使用事务ID和分支ID实例化分布式XA事务对象;所述分布式XA事务对象包括XaResource以及XA链接;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市易联众易惠科技有限公司,未经厦门市易联众易惠科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010737956.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种适用于拉头的油漆、抗污拉头及其制备方法
- 下一篇:一种锚杆自动安装装置





