跨服务调用方法、装置、电子设备及存储介质与流程

文档序号:36337868发布日期:2023-12-13 14:16阅读:83来源:国知局
跨服务调用方法与流程

本技术涉及计算机,特别涉及一种跨服务调用方法、装置、电子设备及存储介质。


背景技术:

1、在当下业务不断扩大,服务不断细分的情况下,传统的单体架构已不能满足日益变化的架构需求,各个服务的高度单一化,需要通过一定的方式并基于某种网络网络传输协议来进行功能交互。

2、于是当下的技术实现上,便出现了rpc(remote procedure call,远程过程调用)、http(hyper text transfer protocol,超文本传输协议)、rmi(remote methodinvocation,远程方法调用)等各种各样的远程服务调用方式,每种调用方式具有不同的特点。而当下主流的远程调用方式当属rpc与基于http协议的restful(representationalstate transfer,表述性状态转移)风格调用方式。而在一个平台的众多微服务之间实现互相通信调用,往往只能选择一种调用方式,rpc或者基于restful风格的,因为服务间调用的前提是基于相同的网络传输协议,因此在一个平台选定服务间调用方式之后,很难再使用基于其他协议的调用方式来进行服务间调用。

3、相关技术中,如图1所示,图1为相关技术中的分布式系统下服务间调用的示意图,在当下公司所用的分布式架构中,各个微服务之间是通过restful来进行服务间调用的。

4、然而,随着平台车辆数据激增,请求量大幅上升,服务间的调用若仍以restful来调用,传输速度较rpc慢,吞吐量低,但是在已经稳定的分布式平台中去对所有微服务的网络协议进行修改从而改变调用方式,显然不可行;而且并不是所有的微服务之间都会因为业务需求激增而导致互相调用更加频繁,这时去改变所有服务的调用方式显得得不偿失。


技术实现思路

1、本技术提供一种跨服务调用方法、装置、电子设备及存储介质,以解决分布式系统中,不同微服务间可能因为业务需求导致的网络协议不同而不能相互交互通信等问题,大大提高平台内部服务间调用的兼容性和可扩展性。

2、本技术第一方面实施例提供一种跨服务调用方法,包括以下步骤:

3、获取当前服务的第一调用请求,其中,所述当前服务集成第一clientjar,所述第一调用请求包括目标服务;

4、判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一致;以及

5、若所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议不一致,则利用所述第一clientjar将所述第一网络传输协议拦截到预设的协议处理器,并通过所述预设的协议处理器将所述第一网络传输协议转换为所述第二网络传输协议后,发送所述第一调用请求至所述目标服务。

6、可选地,在一些实施例中,在发送所述第一调用请求至所述目标服务之后,还包括:接收所述目标服务基于所述第一调用请求发送的响应数据,其中,接收过程基于所述第二网络传输协议。

7、可选地,在一些实施例中,所述跨服务调用方法,还包括:

8、获取所述目标服务的第二调用请求,其中,所述第二调用请求包括所述当前服务,所述目标服务集成第二clientjar;

9、判断所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议是否一致;

10、若所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议不一致,则利用所述第二clientjar将所述第三网络传输协议拦截到所述预设的协议处理器,并通过所述预设的协议处理器将所述第三网络传输协议转换为所述第四网络传输协议后,发送所述第二调用请求至所述当前服务。

11、可选地,在一些实施例中,在判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一致之后,还包括:若所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议一致,则发送所述第一调用请求至所述目标服务。

12、本技术第二方面实施例提供一种跨服务调用装置,包括:

13、第一获取模块,用于获取当前服务的第一调用请求,其中,所述当前服务集成第一clientjar,所述第一调用请求包括目标服务;

14、第一判断模块,用于判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一致;以及

15、第一调用模块,用于在所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议不一致时,利用所述第一clientjar将所述第一网络传输协议拦截到预设的协议处理器,并通过所述预设的协议处理器将所述第一网络传输协议转换为所述第二网络传输协议后,发送所述第一调用请求至所述目标服务。

16、可选地,在一些实施例中,在发送所述第一调用请求至所述目标服务之后,所述第一调用模块,还包括:接收单元,用于接收所述目标服务基于所述第一调用请求发送的响应数据,其中,接收过程基于所述第二网络传输协议。

17、可选地,在一些实施例中,所述跨服务调用装置,还包括:

18、第二获取模块,用于获取所述目标服务的第二调用请求,其中,所述第二调用请求包括所述当前服务,所述目标服务集成第二clientjar;

19、第二判断模块,用于判断所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议是否一致;

20、第二调用模块,用于在所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议不一致时,利用所述第二clientjar将所述第三网络传输协议拦截到所述预设的协议处理器,并通过所述预设的协议处理器将所述第三网络传输协议转换为所述第四网络传输协议后,发送所述第二调用请求至所述当前服务。

21、可选地,在一些实施例中,在判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一致之后,所述第一判断模块,还包括:发送单元,用于在所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议一致时,发送所述第一调用请求至所述目标服务。

22、本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的跨服务调用方法。

23、本技术第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的跨服务调用方法。

24、由此,本技术通过开发一个作用于服务的clientjar包以及一个协议中转站,在当前服务的网络传输协议与目标服务的网络传输协议不一致时,通过该clientjar包拦截服务远程调用的请求,并利用协议中转站将网络传输协议进行转换。由此,本技术可以利用协议中转站来将http协议转换成rpc协议,进而可以在两个不同协议的服务间进行互相调用,解决了在分布式系统中,不同微服务间可能因为业务需求导致的网络协议不同而不能相互交互通信等问题,大大提高平台内部服务间调用的兼容性和可扩展性。

25、本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1