[发明专利]一种跨微服务事务编排方法在审
申请号: | 202210177550.5 | 申请日: | 2022-02-24 |
公开(公告)号: | CN114547081A | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 施磊 | 申请(专利权)人: | 知微行易(上海)智能科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/955;H04L67/02;H04L67/51;G06F9/46 |
代理公司: | 东莞市卓易专利代理事务所(普通合伙) 44777 | 代理人: | 张静 |
地址: | 200120 上海市浦东新区中国(上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 微服 事务 编排 方法 | ||
本发明提供一种跨微服务事务编排方法,涉及微服务技术领域,包括以下步骤:S1:微服务Orchestrator开启全局事务,产生XID,并通过边车的Http Proxy访问微服务,S2:DB Proxy根据SQL语句产生回滚数据,S3:通过DB Proxy提交本地事务,在DB Proxy提交本地事务时,需要找到对应XID去注册分支事务,S4:找到XID后,DB proxy注册分支事务,S5:Orchestrator提交或回滚全局事务。本发明,通过给微服务添加边车,以实现跨微服务事务编排,边车DB Proxy以便能根据SQL语句产生对应的回滚数据,同时有HTTP Proxy和DB Proxy的边车,以便自动找到数据库本地事务对应的全局事务ID,采用上述软件方法,能够在不修改微服务的情况下,让微服务支持跨微服务事务编排,以便达到较好的使用效果。
技术领域
本发明涉及微服务技术领域,尤其涉及一种跨微服务事务编排方法。
背景技术
为了能够实现跨微服务事务,人们提出了2PC,TCC,SAGA等协议,阿里的Seata,实现了TCC和SAGA协议,并提出了TCC协议的AT Mode,而现有的微服务事务编排时,往往需要通过修改整个微服务,需要对现有微服务进行改造,比如实现TCC协议的Try,Commit和Cancel,或者使用库以实现Seata AT Mode,才能达到较好使用效果。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种跨微服务事务编排方法。
为了实现上述目的,本发明采用了如下技术方案:一种跨微服务事务编排方法,包括以下步骤:
S1:微服务Orchestrator开启全局事务,产生XID,并通过边车的Http Proxy访问微服务;
S2:DB Proxy根据SQL语句产生回滚数据;
S3:通过DB Proxy提交本地事务,在DB Proxy提交本地事务时,需要找到对应XID去注册分支事务;
S4:找到XID后,DB proxy注册分支事务;
S5:Orchestrator提交或回滚全局事务。
为了使请求明确,本发明的改进有,所述S1中Orchestrator到HTTP Proxy的HTTP请求,请求带有XID。
为了处理SQL语句,本发明的改进有,所述S1中通过边车的Http Proxy访问微服务后,微服务通过DB proxy执行SQL语句。
为了确定对应的XID,本发明的改进有,所述S3中寻找对应的XID时,本地事务的开始时间与结束时间,在HTTP请求的开始时间与结束时间之间。
为了准确寻找对应的XID,本发明的改进有,所述S3中寻找对应的XID时,如果有多个HTTP请求对应此本地事务,系统根据HTTP请求内容(URL和Post Body)和SQL语句历史对应关系,找到匹配的HTTP请求获取XID。
为了防止错误情况发生,本发明的改进有,所述S3中寻找对应的XID时,如果系统仍然无法确定唯一对应的HTTP请求,DB proxy返回错误,让本地事务回滚,然后边车HTTPProxy重新发起一个到微服务的HTTP请求。
为了分支事务进行处理,本发明的改进有,所述S5中如果全局事务成功,微服务Orchestrator提交分支事务,如果全局事务失败,微服务Orchestrator回滚分支事务(应用回滚数据)。
为了对分支事务进行提交,本发明的改进有,所述S5中Orchestrator提交或回滚全局事务后需要DB Proxy提交或回滚分支事务。
与现有技术相比,本发明的优点和积极效果在于,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于知微行易(上海)智能科技有限公司,未经知微行易(上海)智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210177550.5/2.html,转载请声明来源钻瓜专利网。