[发明专利]一种基于TCC的微服务分布式事务系统以及业务处理方法有效
申请号: | 202011081677.4 | 申请日: | 2020-10-10 |
公开(公告)号: | CN112328406B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 赵铭;林镇锋;易文峰;翟羽佳;陈佳山;蔡子琪;赵夷凡;陈伟锐 | 申请(专利权)人: | 南方电网数字平台科技(广东)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 518000 广东省深圳市南山区沙河街道高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 tcc 微服 分布式 事务 系统 以及 业务 处理 方法 | ||
本发明公开了一种基于TCC的微服务分布式事务系统以及业务处理方法,本发明对每一次的业务请求,都为其创建与统一事务上下文对象放置在缓存中,后续基于该业务请求产生的一些列服务调用,都会对应更新统一事务上下文对象,特别是其中的事务调用链反应了服务调用的顺序,在任一服务节点出现异常时,本发明都可以基于事务调用链确定之前服务的调用顺序,并据此逆序依次调用各个业务的补偿服务,如此可以保证数据的一致性,本发明方案简单,可以灵活拓展服务,灵活可控,具有优良的性能,能够有效支持并发情况下的响应速度,而且各个服务模块得以实现快速拆分和合并,满足企业不同的服务集成场景。
技术领域
本发明涉及分布式事务领域,尤其涉及一种基于TCC的微服务分布式事务系统以及业务处理方法。
背景技术
分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个问题,目前对分布式事务的解决方案,工程领域主要讨论的是强一致性和最终一致性的解决方案,典型方案主要包括两阶段提交(2PC)方案、本地消息表方案、开源TCC补偿模式、缓存数据最终一致性。现有的技术方案不仅使用复杂,而且大部分依赖数据库的XA技术来实现,耦合数据库太强,灵活性相对单一。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种简单、高度灵活的基于TCC的微服务分布式事务系统以及业务处理方法。
本发明解决其技术问题所采用的技术方案是:
构造一种基于TCC的微服务分布式事务的业务处理方法,利用基于TCC的微服务分布式事务系统实现,所述系统包括分布式布置的主业务服务和从业务服务,所述主业务服务和从业务服务均布置事务补偿框架,所述方法包括:
主业务服务的事务补偿框架的业务拦截器拦截到业务请求时,创建与该业务请求对应的统一事务上下文对象放置在缓存中,所述统一事务上下文对象包含有事务调用链并且标记了主业务服务为根服务;
主业务服务调用本地业务服务时,本地的事务补偿框架的业务拦截器拦截调用业务的请求,在事务调用链中增加自身被调用的信息并标记为本地调用类型,如果被调用的业务有预处理服务,则调用预处理服务后再调用业务服务;
主业务服务调用远程业务服务时,调用业务的请求送入本地的事务补偿框架的远程过滤器,远程过滤器将业务请求和统一事务上下文对象传递给从业务服务的事务补偿框架的服务过滤器,服务过滤器在所述统一事务上下文对象中标记远程调用节点类型,然后再将业务请求和统一事务上下文对象传递给本地的事务补偿框架的业务拦截器,业务拦截器在事务调用链中增加自身被调用的信息,如果被调用的业务有预处理服务,则调用预处理服务后再调用业务服务;
主业务服务的事务补偿框架在捕获到异常时,从缓存获取统一事务上下文对象,根据其中的事务调用链确定业务调用顺序,并按照逆序依次调用各个业务的补偿服务。
进一步地,所述方法还包括:
主业务服务的事务补偿框架在收到主业务服务的业务请求处理完毕的消息时,将该业务请求对应的统一事务上下文对象注销。
进一步地,所述预处理服务包括:记录统一事务上下文对象以及业务自己的用于补偿用的实现方法。
进一步地,各业务的预处理服务和补偿服务是通过提供与事务补偿框架约定的接口业务实现,接口参数包括提供事务补偿框架的统一事务上下对象的参数,用于缓存相关的业务信息。
进一步地,所述方法还包括:
主业务服务的事务补偿框架在调用各个业务的补偿服务时还记录补偿日志。
进一步地,主业务服务的配置文件中包含可编辑的代表事务补偿框架是否启用的事务补偿标志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南方电网数字平台科技(广东)有限公司,未经南方电网数字平台科技(广东)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011081677.4/2.html,转载请声明来源钻瓜专利网。