[发明专利]一种基于微服务架构的分布式事务处理方法有效
申请号: | 201710112586.4 | 申请日: | 2017-02-28 |
公开(公告)号: | CN106909467B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 付正全 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 微服 架构 分布式 事务处理 方法 | ||
本发明公开了一种基于微服务架构的分布式事务处理方法,包括:在微服务架构中确定服务调用节点和服务被调用节点;控制服务调用节点向服务被调用节点通过消息队列发送业务消息,并存储业务消息的发送状态;控制服务被调用节点解析业务消息,并根据解析的结果执行对应的业务;控制服务被调用节点反馈业务执行结果至服务调用节点;根据业务执行结果,控制服务调用节点变更自身中存储的业务消息的当前状态。服务调用节点根据服务被调用节点的反馈信息变更自身的业务消息的状态,使用消息队列机制保存消息状态,不依赖具体的开发语言和平台,保证了分布式事务的数据一致性,减少了两个节点间的网络通信次数,通信时间短,系统性能消耗小。
技术领域
本发明涉及微服务架构领域,特别是涉及一种基于微服务架构的分布式事务处理方法。
背景技术
近年来,随着云计算和互联网行业的飞速发展,传统的技术架构已经不能满足业务量的灵活增长和弹性应用。为了解决这一问题,微服务架构应运而生。
在微服务架构中,系统会拆分为若干个相对独立业务的服务,每个服务可部署在不同的节点上。当各服务节点之间出现调用时,如何实现事务的一致性成为亟需解决的问题。目前,分布式事务的处理比较常用的是两阶段提交协议(Two-phase Commit,2pc)方法。即:由客户端提交请求到事务协调器(TC),然后由事务协调器来确认各个事务执行者是否都执行完毕。待全部执行成功后,才能将整个事务提交完成。但是,在使用过程中,发现现有的两阶段提交的方法具有以下的缺陷:现有的方法需要事务协调器主动确认各个事务执行者的状态,因此涉及多次节点间的网络通信,通信时间长,系统性能消耗大等。
因此,如何提供一种基于微服务架构的分布式事务处理方法,以解决以上问题,是本领域技术人员目前需要解决的技术问题。
发明内容
本发明的目的是提供一种基于微服务架构的分布式事务处理方法,可以不依赖具体的开发语言和平台,且保证分布式事务的数据一致性。
为解决上述技术问题,本发明提供了如下技术方案:
一种基于微服务架构的分布式事务处理方法,包括:
在微服务架构中确定服务调用节点和服务被调用节点;
控制所述服务调用节点向所述服务被调用节点通过消息队列发送业务消息,并存储所述业务消息的发送状态;
控制所述服务被调用节点解析所述业务消息,并根据解析的结果执行对应的业务;
控制所述服务被调用节点反馈业务执行结果至所述服务调用节点;
根据所述业务执行结果,控制所述服务调用节点变更自身中存储的所述业务消息的当前状态。
优选地,在所述控制所述服务调用节点向所述服务被调用节点通过消息队列发送业务消息,并存储所述业务消息的发送状态之前还包括:
控制所述服务调用节点进行业务检查,判断所述业务消息是否正常且符合预设的业务提交条件;
若是,则将所述业务消息存储在所述服务调用节点的消息数据库中,并将所述业务消息的状态标记为请求发送状态。
优选地,所述控制所述服务调用节点向所述服务被调用节点通过消息队列发送业务消息,并存储所述业务消息的发送状态,包括:
接收业务消息确认发送信息;
在所述消息数据库中调取所述业务消息,并将所述业务消息通过消息队列发送至所述服务被调用节点;
在所述服务调用节点中将所述业务消息的状态变更为已发送状态。
优选地,所述控制所述服务被调用节点解析所述业务消息,并根据解析的结果执行对应的业务,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710112586.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种药材烘干箱
- 下一篇:一种方便恒温控温的塑料鞋烘干机