System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及事务管理领域,尤其涉及一种基于分布式应用运行时的事务管理方法、设备及介质。
技术介绍
1、在微服务架构下,不同服务器下的应用服务负责不同的服务功能,服务器的应用服务是直接与中间件之间进行耦合,存在如下几个问题:
2、1、由于不同服务器的服务功能不同,需要将不同类型数据拆分,分布在不同的服务器(节点)上。在一次业务操作中,只能保证本地服务器对应事务的数据一致性,无法保证调用的其他服务器的数据一致性。因此,在不同服务器之间存在跨数据库、跨服务、跨语言栈更新数据的一致性问题。
3、2、由于应用服务与事务管理器连接耦合在一起,在事务管理器需要修改时,就必须对对应的应用服务做适应性的修改,增加了工作量。另外,应用服务与事务管理器直接耦合,需要采用应用服务与事务管理器都能同时支持的语音栈和事务模式,这样所采用的语音栈和事务模式具有局限性,只能支持特定的语言栈和单一事务模式,存在性能瓶颈。因为应用服务(业务)与事务管理器连接耦合在一起,业务容易被入侵,无法保证数据的隔离性,容易产生脏写。
4、当加入分布式应用运行时,分布式应用运行时dapr为微软开源的一个用于构建分布式应用的框架,dapr为分布式应用运行时(distributed application runtime)的英文单词缩写;dapr提供了分布式应用所依赖的执行环境,通过使用dapr可以使用任何语言轻松构建与平台无关的微服务应用。通过应用运行时可以将应用服务与事务管理器解耦,但依然存在如下的问题:
5、在单体架构中,只有
6、公开号为cn117348980a的中国专利技术,公开了一种分布式事务处理方法、装置、设备、介质及程序产品。通过接收分布式事务处理请求,根据分布式数据库系统的当前工作负载确定被同一类事务访问的数据分区,得到至少一个关联分区,然后获取将关联分区从当前节点重新分配至不同节点时对应的第一副本重排代价,并根据第一副本重排代价将关联分区分配至对应的目标节点,最后基于副本重排后的分布式数据库系统进行分布式事务的处理。此方案对当下工作负载进行分析,基于负载分析结果对分区副本重新进行排布,并将分布式事务所涉及的分区副本排布在同一节点,从而实现将分布式事务转换成单机事务,减少了协调和网络通信代价,提高了分布式数据库系统的性能。但是仍然无法解决分布式数据一致性、应用服务与事务管理器的解耦和支持分布式应用运行时本地事务处理的问题。
技术实现思路
1、有鉴于此,本专利技术的目的在于提出一种基于分布式应用运行时的事务管理方法,解决分布式数据一致性、应用服务与事务管理器的解耦和支持分布式应用运行时本地事务处理的问题。
2、为了实现上述的技术目的,本专利技术所采用的技术方案为:
3、本专利技术提供了一种基于分布式应用运行时的事务管理方法,应用于配置中心、事务管理器和多台服务器,包括如下步骤:
4、步骤1、在每台所述服务器上配置有分布式应用运行时和应用服务,将同一台服务器下的分布式应用运行时和应用服务进行连接;
5、步骤2、通过每两个所述分布式应用运行时之间进行连接,实现多台所述服务器的应用服务之间交互;
6、步骤3、在每个所述分布式应用运行时上嵌入自定义的事务配置操作组件;
7、步骤4、每个所述分布式应用运行时从配置中心获取分布式事务模式,并下发给对应的应用服务;
8、步骤5、每个所述应用服务将分布式事务模式与对应的模式参数通过分布式应用运行时发送给事务配置操作组件,事务配置操作组件根据分布式事务模式和模式参数对事务管理器进行模式设置,通过事务管理器对不同服务器之间进行分布式事务管理;
9、步骤6、所述事务配置操作组件与本地数据库进行长连接;通过本地数据库进行本地服务器的本地事务处理;
10、步骤7、所述分布式应用运行时支持多种语言栈,所述应用服务选择多种语言栈其中一种或多种,所述事务管理器选择多种语言栈其中一种,通过分布式应用运行时实现不同事务管理器的语言栈兼容。
11、进一步的,所述步骤2具体包括:
12、步骤21、每两个所述分布式应用运行时之间通过http或rpc协议进行连接;
13、步骤22、某台服务器的应用服务将请求通过服务端口发送给自身的分布式应用运行时,通过自身的分布式应用运行时将请求转发给另一台服务器的分布式应用运行时上,再由该分布式应用运行时通过服务端口转发至对应的应用服务上,实现两台所述服务器的应用服务之间交互。
14、进一步的,所述步骤3具体包括:
15、步骤31、自定义用于配置事务的事务配置操作组件,所述事务配置操作组件为分层架构,第一层为分布式进行时交互层,用于与应用服务进行交互以及对事务配置操作核心层进行控制;第二层为事务配置操作核心层,用于与事务管理器进行交互以及对分布式进行时交互层发送的命令进行操作;
16、步骤32、将自定义的事务配置操作组件嵌入到每个所述分布式应用运行时上。
17、进一步的,所述步骤4具体包括:
18、步骤41、每个所述分布式应用运行时与配置中心进行连接;
19、步骤42、设置当前的分布式事务模式作为配置数据存储于配置中心中;
20、步骤43、每个所述分布式应用运行时从配置中心获取配置数据,并下发给对应的应用服务;
21、步骤44、所述分布式应用运行时实时监听配置中心的配置数据,判断配置数据是否发生变化,若是,进入步骤45,否则,进入步骤5;
22、步骤45、所述分布式应用运行时获取更新后的配置数据,将原来的分布式事务模式切换为新的分布式事务模式,并下发给对应的应用服务;
23、步骤46、所述应用服务进行热加载生效更新后的分布式事务模式。
24、进一步的,所述分布式应用运行时与配置中心通过发布/订阅模式建立连接。
25、进一步的,所述事务管理器支持多种分布式事务模式,包括:xa模式、saga模式、tcc模式、二阶段消息模式和workflow模式,所述配置中心根据业务特性设置其中一种分布式事务模式。
26、进一步的,所述步骤5具体包括:
27、步骤51、每个所述应用服务将分布式事务模式和该模式下所对应的模式参数通过分布式应用运行时发送给事务配置本文档来自技高网...
【技术保护点】
1.一种基于分布式应用运行时的事务管理方法,其特征在于,应用于配置中心、事务管理器和多台服务器,包括如下步骤:
2.如权利要求1所述的基于分布式应用运行时的事务管理方法,其特征在于,所述步骤2具体包括:
3.如权利要求1所述的基于分布式应用运行时的事务管理方法,其特征在于,所述步骤3具体包括:
4.如权利要求1所述的基于分布式应用运行时的事务管理方法,其特征在于,所述步骤4具体包括:
5.如权利要求4所述的基于分布式应用运行时的事务管理方法,其特征在于,所述分布式应用运行时与配置中心通过发布/订阅模式建立连接。
6.如权利要求1所述的基于分布式应用运行时的事务管理方法,其特征在于,所述事务管理器支持多种分布式事务模式,包括:XA模式、SAGA模式、TCC模式、二阶段消息模式和Workflow模式,所述配置中心根据业务特性设置其中一种分布式事务模式。
7.如权利要求3所述的基于分布式应用运行时的事务管理方法,其特征在于,所述步骤5具体包括:
8.如权利要求7所述的基于分布式应用运行时的事务管理方法,
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的一种基于分布式应用运行时的事务管理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8任一项所述的一种基于分布式应用运行时的事务管理方法。
...【技术特征摘要】
1.一种基于分布式应用运行时的事务管理方法,其特征在于,应用于配置中心、事务管理器和多台服务器,包括如下步骤:
2.如权利要求1所述的基于分布式应用运行时的事务管理方法,其特征在于,所述步骤2具体包括:
3.如权利要求1所述的基于分布式应用运行时的事务管理方法,其特征在于,所述步骤3具体包括:
4.如权利要求1所述的基于分布式应用运行时的事务管理方法,其特征在于,所述步骤4具体包括:
5.如权利要求4所述的基于分布式应用运行时的事务管理方法,其特征在于,所述分布式应用运行时与配置中心通过发布/订阅模式建立连接。
6.如权利要求1所述的基于分布式应用运行时的事务管理方法,其特征在于,所述事务管理器支持多种分布式事务模式,包括:xa模式、...
【专利技术属性】
技术研发人员:陈武容,翁明辉,
申请(专利权)人:睿云联厦门网络通讯技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。