一种全局事务协同方法、装置、设备及介质制造方法及图纸

技术编号:32080639 阅读:31 留言:0更新日期:2022-01-29 17:57
本申请提供了一种全局事务协同方法,包括:第一服务接收来自于客户端的第一服务请求,第一服务请求用于请求调用第一服务,第一服务调用第一本地代理创建第一本地事务,以及向第二服务发送第一远程服务请求,以使第二服务调用第二本地代理创建第二本地事务,第一服务调用第一本地代理接收第二服务的事务操作,将事务操作提交至第一本地事务执行,第一服务调用第一本地代理发送全局事务提交请求,以使第一服务调用第一本地代理提交第一本地事务,第二服务调用第二本地代理提交第二本地事务。由此实现服务引用未生效的业务数据,降低了单体应用拆分为微服务的难度,易于实现服务化部署。署。署。

【技术实现步骤摘要】
一种全局事务协同方法、装置、设备及介质


[0001]本申请涉及计算机
,尤其涉及一种全局事务协同方法、装置、设备以及计算机可读存储介质。

技术介绍

[0002]传统单体应用在业务增长时往往难以快速响应业务诉求,为此可以对单体应用进行服务化改造。然而,单体应用服务化后,数据库事务(transaction)共享成为大问题。所谓数据库事务是指访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。数据库事务由事务开始与事务结束之间执行的全部数据库操作组成。
[0003]目前,业界的传统做法是对业务进行垂直拆分,实现业务逻辑重构,避免数据库处理时引用相同资源的中间事务问题。具体地,将业务拆分为多个服务后,可以通过全局事务协调器,实现服务间协同分段事务、协同提交事务。例如,全局事务协调器启动全局事务,然后try服务A,以及try服务B,即分别为服务A、服务B预留对应的业务资源,接着可以同时confirm服务A和服务B,或者同时取消服务A和服务B,保障了事务一致性。r/>[0004]然本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种全局事务协同方法,其特征在于,所述方法包括:第一服务接收来自于客户端的第一服务请求,所述第一服务请求用于请求调用第一服务;所述第一服务调用第一本地代理创建第一本地事务,以及向第二服务发送第一远程服务请求,以使所述第二服务调用第二本地代理创建第二本地事务;所述第一服务调用第一本地代理接收所述第二服务的事务操作,将所述事务操作提交至所述第一本地事务执行;所述第一服务调用所述第一本地代理发送全局事务提交请求,以使所述第一服务调用所述第一本地代理提交所述第一本地事务,所述第二服务调用所述第二本地代理提交所述第二本地事务。2.根据权利要求1所述的方法,其特征在于,在所述第一服务调用第一本地代理接收所述第二服务的事务操作之前,所述方法还包括:所述第一服务接收来自于所述第二服务调用所述第二本地代理的第二远程服务请求,所述第二远程服务请求用于远程调用所述第一服务,所述第二远程服务请求包括全局事务标识。3.根据权利要求2所述的方法,其特征在于,所述将所述事务操作提交至所述第一本地事务执行,包括:所述第一服务调用所述第一本地代理创建第一本地事务的事务代理;所述第一服务通过所述事务代理将所述事务操作提交至所述第一本地事务执行。4.根据权利要求1所述的方法,其特征在于,在所述第一服务调用第一本地代理接收所述第二服务的事务操作之前,所述方法还包括:所述第一服务调用所述第一本地代理接收所述第二服务调用所述第二本地代理对第二资源的变更登记信息。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:所述第一服务调用所述第一本地代理查询所述第二服务对应的服务节点;所述第一服务调用所述第一本地代理开启全局事务,调用所述第一本地代理生成第一远程服务请求,所述第一远程服务请求携带全局事务标识,所述第一远程服务请求用于远程调用所述第二服务。6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一服务调用所述第一本地代理发送全局事务提交请求,包括:所述第一服务调用所述第一本地代理向集群事务管理器发送全局事务提交请求,以使所述集群事务管理器在各事务执行成功时向各本地事务对应的本地代理发送本地事务提交请求。7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:所述第一服务调用所述第一本地代理在集群事务管理器注册;当所述第一本地代理处于正常状态时,所述第一服务响应于所述集群事务管理器发送的健康检查请求调用所述第一本地代理发送反馈。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:当所述第一本地代理由异常状态恢复为正常状态时,所述第一服务调用所述第一本地
代理重新在所述集群事务管理器注册;所述第一服务调用所述第一本地代理接收所述集群事务管理器的回滚请求,进行事务回滚。9.一种全局事务协同装置,其特征在于,所述装置包括:通信模块,用于接收来自于客户端的第一服务请求,所述第一服务请求用于请求调用第一服务;创建模块,用于调...

【专利技术属性】
技术研发人员:吴英德
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1