[发明专利]一种微服务架构下的分布式事务管理器以及管理方法有效
申请号: | 201810040965.1 | 申请日: | 2018-01-16 |
公开(公告)号: | CN108304271B | 公开(公告)日: | 2021-08-06 |
发明(设计)人: | 林圳杰;缪柏年;易文峰 | 申请(专利权)人: | 深圳市康拓普信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/455 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 郭伟刚 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 微服 架构 分布式 事务 管理器 以及 管理 方法 | ||
本发明公开了一种微服务架构下的分布式事务管理器以及管理方法,方法包括:根据服务调用方法类型判断被调用服务的类型,如果被调用服务是需要远程调用的从服务,从缓存获得事务上下文并识别JVM环境,如果从服务与主服务位于相同的JVM,进行本地调用,执行预处理并保存补偿操作,更新事务上下文,再执行从服务,发生业务异常时,根据事务上下文进行事务补偿。实施本发明的微服务架构下的分布式事务管理器以及管理方法,具有以下有益效果:本发明可从缓存获得事务上下文,识别JVM环境,对于同一JVM环境的调用,通过本地调用进行,方便业务开发人员的使用,使业务开发人员无需区分本地调用和远程,避免造成不必要的资源浪费和性能损耗。
技术领域
本发明涉及云计算领域,尤其涉及一种微服务架构下的分布式事务管理器以及管理方法。
背景技术
云原生和微服务架构的流行,让分布式事务问题日益突出。云原生和微服务架构本质上就是分布式服务化架构,流行的微服务框架包括SpringCloud和Dubbo,不管是Springcloud,还是Dubbo,对于分布式事务都是一个绕不过去的挑战。事务分为柔性事务和刚性事务,刚性事务是指严格遵循ACID原则的事务,例如单机环境下的数据库事务。柔性事务是指遵循BASE理论的事务,通常用在分布式环境中,常见的实现方式有:两阶段提交(2PC),TCC补偿型提交,基于消息的异步确保型,最大努力通知型。业界基于TCC补偿型机制的事务管理器中,业务逻辑实现存在极大的不便以及资源浪费和性能损耗。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种微服务架构下的分布式事务管理器以及管理方法。
本发明解决其技术问题所采用的技术方案是:构造一种微服务架构下的分布式事务管理方法,方法包括:
根据服务调用方法类型判断被调用服务的类型,如果被调用服务是需要远程调用的从服务,从缓存获得事务上下文并识别JVM环境,如果从服务与主服务位于相同的JVM,进行本地调用,执行预处理并保存补偿操作,更新事务上下文,再执行从服务,发生业务异常时,根据事务上下文进行事务补偿。
在本发明所述的微服务架构下的分布式事务管理方法中,所述方法还包括:
根据服务调用方法类型判断被调用服务的类型,如果被调用服务是需要远程调用的从服务,从缓存获得事务上下文并识别JVM环境,如果从服务与主服务位于不同的JVM,根据远程拦截器进入远程分支,执行预处理并保存补偿操作,更新事务上下文,再执行从服务,发生业务异常时,根据事务上下文进行事务补偿。
在本发明所述的微服务架构下的分布式事务管理方法中,所述方法还包括:
根据服务调用方法类型判断被调用服务的类型,如果被调用服务是主服务,创建事务,将调用主服务的动作作为服务调用树的根,更新到缓存中的事务上下文,并进行主服务的调用,发生业务异常时,调用业务逻辑根据事务上下文中的历史状态执行事务补偿,并提交事务,未发生异常,直接提交事务。
在本发明所述的微服务架构下的分布式事务管理方法中,所述方法还包括:在业务活动开始时,使用业务拦截器进行拦截,生成事务上下文,并存储到缓存。
本发明还公开了一种微服务架构下的分布式事务管理器,包括远程拦截器、业务拦截器、缓存,远程拦截器在每次远程调用服务时启动一次并将拦截的信息存入缓存,业务拦截器在每次调用服务时启动一次并将拦截的信息存入缓存;
所述事务管理器用于在调用服务时,根据服务调用方法类型判断被调用服务的类型,如果被调用服务是需要远程调用的从服务,从缓存获得事务上下文并识别JVM环境,如果从服务与主服务位于相同的JVM,进行本地调用,执行预处理并保存补偿操作,更新事务上下文,再执行从服务,发生业务异常时,根据事务上下文进行事务补偿。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市康拓普信息技术有限公司,未经深圳市康拓普信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810040965.1/2.html,转载请声明来源钻瓜专利网。