一种接口多实现方法、装置、设备及存储介质与流程

文档序号:36329015发布日期:2023-12-10 00:24阅读:47来源:国知局
一种接口多实现方法与流程

本发明涉及计算机,特别涉及一种接口多实现方法、装置、设备及存储介质。


背景技术:

1、目前,微服务间存在的接口间相互调用,常见的接口调用形式是使用rpc(remoteprocedure call,远程过程调用)框架完成,rpc接口其应用框架比较多,各有特色,广泛使用的有rmi、hessian、dubbo等,这些rpc框架主要提供功能包括基于接口的远程调用、容错和负载平衡、以及自动服务注册和发现等等。但是,这些rpc框架对于远程调用接口的多实现逻辑注入能力较弱;例如,微服务的接口调用过程中,存在某服务需要与其对接的其他微服务均实现某个接口,这样接口的实现会存在多个且均需要被调用,而现有技术中rpc框架只能在消费者端选择其中一个接口实现进行调用,但是没法同时调用多个接口。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种接口多实现方法、装置、设备及介质,能够做到多个接口实现的调用,从而解决高并发问题。其具体方案如下:

2、第一方面,本申请公开了一种接口多实现方法,包括:

3、目标微服务通过读取所述公共仓库进行接口注册,并将接口实现信息同步到目标服务;所述公共仓库包含预先定义并上传的接口注册相关逻辑;所述接口注册相关逻辑包括接口定义逻辑和接口扫描逻辑;

4、所述目标服务根据接口配置信息判断已注册的接口是否为非互斥关系,若是非互斥关系,则创建线程池;所述非互斥关系表征多个接口需要同时调用;

5、利用所述线程池并发调用多个接口实现,并将多个接口实现调用的结果聚合后返回。

6、可选的,所述接口定义逻辑包括定义待实现接口,并向所述待实现接口添加同步接口标识。

7、可选的,所述接口扫描逻辑包括利用处理器映射器获取所有的控制器,并根据所述同步接口标识利用反射技术从所有控制器中筛选出定义所述待实现接口的目标控制器。

8、可选的,所述目标服务根据接口配置信息判断已注册的接口是否为非互斥关系之后,还包括:

9、若是互斥关系,则查询已注册的接口是否存在优先级配置;

10、根据优先级查询结果确定对应的接口调用规则,并按照所述接口调用规则进行接口调用,以得到接口调用结果。

11、可选的,所述根据优先级查询结果确定对应的接口调用规则,并按照所述接口调用规则进行接口调用,包括:

12、若存在优先级配置,则按照优先级从高到低的顺序进行单个接口的依次调用。

13、可选的,所述根据优先级查询结果确定对应的接口调用规则,并按照所述接口调用规则进行接口调用,包括:

14、若不存在优先级配置,则按照接口注册时间从远到近的顺序进行单个接口的依次调用。

15、可选的,所述目标微服务通过读取所述公共仓库进行接口注册,包括:

16、所述目标微服务通过读取所述公共仓库,利用反射机制获取所述目标控制器的方法;

17、根据所述方法配置自定义功能;所述自定义功能包括接口调用优先级和/或同步调用;

18、向所述方法添加目标注解;所述目标注解用于在项目启动时自动执行所述方法。

19、第二方面,本申请公开了一种接口多实现装置,包括:

20、注册模块,用于目标微服务通过读取所述公共仓库进行接口注册,并将接口实现信息同步到目标服务;所述公共仓库包含预先定义并上传的接口注册相关逻辑;所述接口注册相关逻辑包括接口定义逻辑和接口扫描逻辑;

21、关系判断模块,用于所述目标服务根据接口配置信息判断已注册的接口是否为非互斥关系,若是非互斥关系,则创建线程池;所述非互斥关系表征多个接口需要同时调用;

22、调用模块,用于利用所述线程池并发调用多个接口实现,并将多个接口实现调用的结果聚合后返回。

23、第三方面,本申请公开了一种电子设备,包括:

24、存储器,用于保存计算机程序;

25、处理器,用于执行所述计算机程序,以实现前述的接口多实现方法。

26、第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的接口多实现方法。

27、本申请中,目标微服务通过读取所述公共仓库进行接口注册,并将接口实现信息同步到目标服务;所述公共仓库包含预先定义并上传的接口注册相关逻辑;所述接口注册相关逻辑包括接口定义逻辑和接口扫描逻辑;所述目标服务根据接口配置信息判断已注册的接口是否为非互斥关系,若是非互斥关系,则创建线程池;所述非互斥关系表征多个接口需要同时调用;利用所述线程池并发调用多个接口实现,并将多个接口实现调用的结果聚合后返回。可见,通过将需要被调用的接口定义在公共仓库中,其他任意微服务通过引入该公共仓库的形式来做接口实现,在微服务启动阶段,将接口实现信息扫描并注册到需要调用接口实现的服务上,进而实现接口多实现的注册及调用,支持以线程池的形式同时调用多个接口实现,即当接口存在多个实现时,仍然能够做到多个接口实现的调用,从而解决高并发问题。



技术特征:

1.一种接口多实现方法,其特征在于,包括:

2.根据权利要求1所述的接口多实现方法,其特征在于,所述接口定义逻辑包括定义待实现接口,并向所述待实现接口添加同步接口标识。

3.根据权利要求2所述的接口多实现方法,其特征在于,所述接口扫描逻辑包括利用处理器映射器获取所有的控制器,并根据所述同步接口标识利用反射技术从所有控制器中筛选出定义所述待实现接口的目标控制器。

4.根据权利要求1所述的接口多实现方法,其特征在于,所述目标服务根据接口配置信息判断已注册的接口是否为非互斥关系之后,还包括:

5.根据权利要求4所述的接口多实现方法,其特征在于,所述根据优先级查询结果确定对应的接口调用规则,并按照所述接口调用规则进行接口调用,包括:

6.根据权利要求4所述的接口多实现方法,其特征在于,所述根据优先级查询结果确定对应的接口调用规则,并按照所述接口调用规则进行接口调用,包括:

7.根据权利要求1至6任一项所述的接口多实现方法,其特征在于,所述目标微服务通过读取所述公共仓库进行接口注册,包括:

8.一种接口多实现装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的接口多实现方法。


技术总结
本申请公开了一种接口多实现方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:目标微服务通过读取所述公共仓库进行接口注册,并将接口实现信息同步到目标服务;所述公共仓库包含预先定义并上传的接口注册相关逻辑;所述接口注册相关逻辑包括接口定义逻辑和接口扫描逻辑;所述目标服务根据接口配置信息判断已注册的接口是否为非互斥关系,若是非互斥关系,则创建线程池;所述非互斥关系表征多个接口需要同时调用;利用所述线程池并发调用多个接口实现,并将多个接口实现调用的结果聚合后返回。支持以线程池的形式同时调用多个接口实现,即当接口存在多个实现时,仍然能够做到多个接口实现的调用,从而解决高并发问题。

技术研发人员:王其腾,刘博
受保护的技术使用者:杭州安恒信息技术股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1