System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及及计算机领域,特别涉及分布式架构异步调用领域,具体是指一种分布式架构下实现服务调用异步重入的系统、方法、装置、处理器及其计算机可读存储介质。
技术介绍
1、随着数字化转型的需求,企业it应用架构已经由传统单体架构转向分布式架构的应用,分布式架构的应用由于天然的扩展性,更容易支撑大规模用户请求,满足用户日益增长的诉求。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,不同的组件之间通过相互调用、访问来实现业务场景。在进行分布式调用过程中,需要调用大量外部系统的api,并通过服务编排的方式进行组装。由于是外部的服务接口,其稳定性和可靠性都存在随机性与不可靠性,当外部系统不稳定的时候,会导致服务编排所在的分布式系统同样的不稳定,吞吐量下降,影响系统的性能和服务体验,需要分布式架构系统提供一种服务调用异步重入的能力,保障外部服务api不稳定的情况下,不影响服务编排所在系统的稳定性,来满足企业it业务变化的诉求。
2、针对目前分布式系统中服务api的调用,通常有三种模式来实现,分别是同步模式、异步模式、异步回调模式。同步模式下,分布式系统采用同步等待的方式调用远程服务api,直到远程服务api执行完毕并返回对应的结果后,分布式系统继续执行后续的业务,在同步模式下,分布式系统会继续占用计算资源(如线程、数据库连接、文件句柄等);异步模式下,分布式系统采用异步方式调用远程服务api,不用等待远程服务api执行完毕,分布式系统继续执行后续的业务,异步模式多适用与通知场景,无需等待远程服务api的
3、以下针对上面的技术实现方式分析对应的不足:
4、不足1:在同步调用模式下,分布式系统会阻塞等待,直到远程服务api执行结束后返回,在阻塞期间,分布式系统会占用宝贵的资源(如线程、数据库连接、文件句柄等),导致这些资源无法服务其它业务;当远程服务api不稳定的情况下,分布式系统的稳定性也变得较差,同时吞吐量也会严重下降,在该模式下,分布式系统的稳定性严重依赖外部系统的稳定性;
5、不足2:在异步模式下,分布式系统在发起远程服务api调用后,就继续执行后续的业务,该实现方式只适合不需要远程服务api返回结果的场景,该实现方式无法实时返回远程服务api的返回数据;
6、不足3:在异步回调模式下,分布式系统会阻塞等待,直到远程服务api执行结束或者超过指定的超时时间,在阻塞期间,分布式系统会占用宝贵的资源(如线程、数据库连接、文件句柄等),导致这些资源无法服务其它业务;当远程服务api不稳定的情况下,分布式系统的稳定性也变得较差,同时吞吐量也会严重下降,在该模式下,分布式系统的稳定性严重依赖外部系统的稳定性。
技术实现思路
1、本专利技术的目的是克服了上述现有技术的缺点,提供了一种满足稳定性好、性能好、适用范围较为广泛的分布式架构下实现服务调用异步重入的系统、方法、装置、处理器及其计算机可读存储介质。
2、为了实现上述目的,本专利技术的分布式架构下实现服务调用异步重入的系统、方法、装置、处理器及其计算机可读存储介质如下:
3、该分布式架构下实现服务调用异步重入的系统,其主要特点是,所述的系统包括:
4、服务调用异步发起模块,用于收集服务调用上下文的当前状态,并存入服务调用状态管理模块中;
5、服务调用异步执行模块,输入端与所述的服务调用异步发起模块相连接,用于根据状态唯一标识重新包装异步操作并发起调用,释放当前占用的所有资源;
6、服务调用状态管理模块,输入端与所述的服务调用异步发起模块相连接,用于负责管理服务调用状态上下文数据,并提供服务调用状态上下文数据管理类api接口;
7、服务调用异步重入模块,输入端与所述的服务调用异步执行相连接,输出端与服务调用状态管理模块相连接,用于监听异步操作的完成状态,根据唯一标识从服务调用状态管理模块恢复当前服务调用的状态,并唤醒新的线程继续执行后续的业务。
8、较佳地,所述的服务调用异步发起模块在服务编排执行过程中,判断远程服务api的调用模式是否为异步重入模式,若某个远程服务api调用的图元是异步重入模式时,则服务调用异步发起模块创建一个服务调用状态上下文,为该服务调用上下文生成唯一的id,并收集服务编排信息。
9、较佳地,所述的服务调用异步发起模块执行的具体包括以下步骤:
10、(1.1)当执行到具体远程服务api时,服务调用异步发起模块判断其调用模式是否为异步重入模式,若远程服务api的调用模式是异步重入模式时,则继续步骤(1.2);
11、(1.2)若远程服务api的调用模式是异步重入模式时,为当前的服务编排创建一个服务调用状态上下文,用于存放当前服务编排执行的状态信息,同时设置服务编排运行状态为挂起状态;
12、(1.3)为创建的服务调用状态上下文生成全局唯一的id;
13、(1.4)收集服务编排的基础信息,并放入创建的服务调用状态上下文中。
14、较佳地,所述的服务调用异步执行模块执行的具体包括以下步骤:
15、(2.1)收集远程服务api的调用信息、服务编排业务状态数据、远程服务api参数数据;
16、(2.2)根据服务调用异步发起模块生成的状态上下文唯一id,将收集的数据存入服务调用状态上下文中;
17、(2.3)为远程服务api接口生成新的异步调用接口;
18、(2.4)生成回调函数;
19、(2.5)执行异步调用远程服务api接口;
20、(2.6)服务编排所在的主线程结束,并释放资源。
21、较佳地,所述的服务调用状态管理模块提供的操作包括创建服务调用状态上下文、删除服务调用状态上下文、更新服务调用状态上下文、设置服务调用状态上下文唯一id、设置远程服务api的调用信息数据、删除远程服务api的调用信息数据、设置服务编排业务状态数据、删除服务编排业务状态数据、设置远程服务api参数数据、删除远程服务api参数数据、设置服务编排信息、删除服务编排信息、设置回调函数信息、删除回调函数信息、设置异步执行结果数据、删除异步执行结果数据或根据id查询服务调用状态上下文数据。
22、较佳地,所述的服务调用异步重入模块监听异步调用远程服务api接口,根据处理情况分别执行回调函数的成功逻辑或失败逻辑,同时从服务调用状态管理模块根据id获取服务调用状态上下文数据,根据服务调用上下文里的数据,恢复服务编排的重入逻辑,并完成服务编排后续的业务逻辑
23、较佳地,所述的服务调用异步重入模块执行的具体包括以下步骤本文档来自技高网...
【技术保护点】
1.一种分布式架构下实现服务调用异步重入的系统,其特征在于,所述的系统包括:
2.根据权利要求1所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步发起模块在服务编排执行过程中,判断远程服务API的调用模式是否为异步重入模式,若某个远程服务API调用的图元是异步重入模式时,则服务调用异步发起模块创建一个服务调用状态上下文,为该服务调用上下文生成唯一的ID,并收集服务编排信息。
3.根据权利要求2所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步发起模块执行的具体包括以下步骤:
4.根据权利要求1所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步执行模块执行的具体包括以下步骤:
5.根据权利要求1所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用状态管理模块提供的操作包括创建服务调用状态上下文、删除服务调用状态上下文、更新服务调用状态上下文、设置服务调用状态上下文唯一ID、设置远程服务API的调用信息数据、删除远程服务API的调用信息数据
6.根据权利要求1所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步重入模块监听异步调用远程服务API接口,根据处理情况分别执行回调函数的成功逻辑或失败逻辑,同时从服务调用状态管理模块根据ID获取服务调用状态上下文数据,根据服务调用上下文里的数据,恢复服务编排的重入逻辑,并完成服务编排后续的业务逻辑。
7.根据权利要求6所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步重入模块执行的具体包括以下步骤:
8.一种基于权利要求1所述的系统实现分布式架构下的服务调用异步重入处理的方法,其特征在于,所述的方法包括以下步骤:
9.根据权利要求1所述的实现分布式架构下的服务调用异步重入处理的方法,其特征在于,所述的步骤(1)具体包括以下步骤:
10.根据权利要求1所述的实现分布式架构下的服务调用异步重入处理的方法,其特征在于,所述的步骤(2)具体包括以下步骤:
11.根据权利要求1所述的实现分布式架构下的服务调用异步重入处理的方法,其特征在于,所述的步骤(4)具体包括以下步骤:
12.一种用于实现分布式架构下的服务调用异步重入处理的装置,其特征在于,所述的装置包括:
13.一种用于实现分布式架构下的服务调用异步重入处理的处理器,其特征在于,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现权利要求8至11中任一项所述的实现分布式架构下的服务调用异步重入处理的方法的各个步骤。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现权利要求8至11中任一项所述的实现分布式架构下的服务调用异步重入处理的方法的各个步骤。
...【技术特征摘要】
1.一种分布式架构下实现服务调用异步重入的系统,其特征在于,所述的系统包括:
2.根据权利要求1所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步发起模块在服务编排执行过程中,判断远程服务api的调用模式是否为异步重入模式,若某个远程服务api调用的图元是异步重入模式时,则服务调用异步发起模块创建一个服务调用状态上下文,为该服务调用上下文生成唯一的id,并收集服务编排信息。
3.根据权利要求2所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步发起模块执行的具体包括以下步骤:
4.根据权利要求1所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步执行模块执行的具体包括以下步骤:
5.根据权利要求1所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用状态管理模块提供的操作包括创建服务调用状态上下文、删除服务调用状态上下文、更新服务调用状态上下文、设置服务调用状态上下文唯一id、设置远程服务api的调用信息数据、删除远程服务api的调用信息数据、设置服务编排业务状态数据、删除服务编排业务状态数据、设置远程服务api参数数据、删除远程服务api参数数据、设置服务编排信息、删除服务编排信息、设置回调函数信息、删除回调函数信息、设置异步执行结果数据、删除异步执行结果数据或根据id查询服务调用状态上下文数据。
6.根据权利要求1所述的分布式架构下实现服务调用异步重入的系统,其特征在于,所述的服务调用异步重入模块监听异步调用远程服务api接口,根据处理情...
【专利技术属性】
技术研发人员:刘相,
申请(专利权)人:普元信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。