【技术实现步骤摘要】
一种分布式事务的同步异步通信方法和装置
本专利技术涉及分布式系统中的中间件领域,并且更具体地,涉及一种分布式事务的同步异步通信方法和装置。
技术介绍
随着SOA(Service-OrientedArchitecture)理念的盛行,微服务架构的落地实践日渐增多,越来越多的企业将自己的业务拆分成多个服务。每个服务的数据库都是独立运行,互不影响的,这些服务之间可以采用RPC远程调用技术、消息队列中间件等方式进行通信。如何保证这些服务在互相通信时的数据一致性,即保证分布式事务,成了实现微服务架构所必须面对的问题。传统的分布式事务解决方案,往往受限于特定的业务场景、服务实现、中间件、通信方式等。虽然可以解决部分分布式场景下的数据一致性问题,但对于复杂业务系统来说,无法满足其服务调用流程复杂、服务之间通信方式高度定制化且可自由组合的场景和要求。
技术实现思路
鉴于此,本专利技术实施例的目的在于提出一种可支持同步异步通信方式的分布式事务框架,尤其适用于比较复杂的业务系统中对分布式数据一致性的要求,能够满足分布 ...
【技术保护点】
1.一种分布式事务的同步异步通信方法,其特征在于,包括以下步骤:/n由业务应用侧的事务管理器向协调器应用侧的事务协调器申请并开启分布式事务;/n由业务模块向所述事务协调器注册所述分布式事务内的一个或多个同步和/或异步分支事务;/n响应于注册完成,执行所述同步和/或异步分支事务并将其执行状态上报到所述事务协调器,并且响应于所述所有同步分支事务全部执行成功,所述事务协调器检测所述分布式事务中是否包含异步分支事务;/n响应于所述事务协调器检测到所述分布式事务中包含异步分支事务且所有所述异步分支事务上报状态均为成功,则所述事务管理器控制提交所述分布式事务。/n
【技术特征摘要】
1.一种分布式事务的同步异步通信方法,其特征在于,包括以下步骤:
由业务应用侧的事务管理器向协调器应用侧的事务协调器申请并开启分布式事务;
由业务模块向所述事务协调器注册所述分布式事务内的一个或多个同步和/或异步分支事务;
响应于注册完成,执行所述同步和/或异步分支事务并将其执行状态上报到所述事务协调器,并且响应于所述所有同步分支事务全部执行成功,所述事务协调器检测所述分布式事务中是否包含异步分支事务;
响应于所述事务协调器检测到所述分布式事务中包含异步分支事务且所有所述异步分支事务上报状态均为成功,则所述事务管理器控制提交所述分布式事务。
2.根据权利要求1所述的方法,其特征在于,由业务模块向所述事务协调器注册所述分布式事务内的一个或多个同步和/或异步分支事务包括:
所述分布式事务具有唯一标识的ID,所述一个或多个同步和/或异步分支事务也各自包括唯一标识的ID。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于所述事务协调器检测到所述分布式事务中包含异步分支事务且存在异步分支事务上报状态为失败,则所述事务协调器根据相应的ID回滚所述分布式事务。
4.根据权利要求2所述的方法,其特征在于,执行所述同步和/或异步分支事务并将其执行状态上报到所述事务协调器,并且响应于所述所有同步分支事务全部执行成功,所述事务协调器检测所述分布式事务中是否包含异步分支事务包括:
响应于存在同步分支事务执行失败,则所述事务协调器根据相应的ID回滚所述分布式事务。
5.根据权利要求1所述的方法,其特征在于,所述方法基于分布式事务框架Seata。
6.一种分布式事务的同步异步通信装置,其特征在...
【专利技术属性】
技术研发人员:郝志北,李兆锐,齐伟峰,
申请(专利权)人:山东浪潮通软信息科技有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。