跨服务调用方法技术

技术编号:39721130 阅读:10 留言:0更新日期:2023-12-17 23:27
本申请涉及计算机技术领域,特别涉及一种跨服务调用方法

【技术实现步骤摘要】
跨服务调用方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,特别涉及一种跨服务调用方法

装置

电子设备及存储介质


技术介绍

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

[0003]于是当下的技术实现上,便出现了
RPC(Remote Procedure Call
,远程过程调用
)、HTTP(Hyper Text Transfer Protocol
,超文本传输协议
)、RMI(Remote Method Invocation
,远程方法调用
)
等各种各样的远程服务调用方式,每种调用方式具有不同的特点

而当下主流的远程调用方式当属
RPC
与基于
HTTP
协议的
RestFul(Representational State Transfer
,表述性状态转移
)
风格调用方式

而在一个平台的众多微服务之间实现互相通信调用,往往只能选择一种调用方式,
RPC
或者基于
RestFul
风格的,因为服务间调用的前提是基于相同的网络传输协议,因此在一个平台选定服务间调用方式之后,很难再使用基于其他协议的调用方式来进行服务间调用

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

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


技术实现思路

[0006]本申请提供一种跨服务调用方法

装置

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

[0007]本申请第一方面实施例提供一种跨服务调用方法,包括以下步骤:
[0008]获取当前服务的第一调用请求,其中,所述当前服务集成第一
ClientJar
,所述第一调用请求包括目标服务;
[0009]判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一致;以及
[0010]若所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议不一致,则利用所述第一
ClientJar
将所述第一网络传输协议拦截到预设的协议处理器,并通过所述预设的协议处理器将所述第一网络传输协议转换为所述第二网络传输协议后,发送所述第一调用请求至所述目标服务

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

[0012]可选地,在一些实施例中,所述跨服务调用方法,还包括:
[0013]获取所述目标服务的第二调用请求,其中,所述第二调用请求包括所述当前服务,所述目标服务集成第二
ClientJar

[0014]判断所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议是否一致;
[0015]若所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议不一致,则利用所述第二
ClientJar
将所述第三网络传输协议拦截到所述预设的协议处理器,并通过所述预设的协议处理器将所述第三网络传输协议转换为所述第四网络传输协议后,发送所述第二调用请求至所述当前服务

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

[0017]本申请第二方面实施例提供一种跨服务调用装置,包括:
[0018]第一获取模块,用于获取当前服务的第一调用请求,其中,所述当前服务集成第一
ClientJar
,所述第一调用请求包括目标服务;
[0019]第一判断模块,用于判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一致;以及
[0020]第一调用模块,用于在所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议不一致时,利用所述第一
ClientJar
将所述第一网络传输协议拦截到预设的协议处理器,并通过所述预设的协议处理器将所述第一网络传输协议转换为所述第二网络传输协议后,发送所述第一调用请求至所述目标服务

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

[0022]可选地,在一些实施例中,所述跨服务调用装置,还包括:
[0023]第二获取模块,用于获取所述目标服务的第二调用请求,其中,所述第二调用请求包括所述当前服务,所述目标服务集成第二
ClientJar

[0024]第二判断模块,用于判断所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议是否一致;
[0025]第二调用模块,用于在所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议不一致时,利用所述第二
ClientJar
将所述第三网络传输协议拦截到所述预设的协议处理器,并通过所述预设的协议处理器将所述第三网络传输协议转换为所述第四网络传输协议后,发送所述第二调用请求至所述当前服务

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

[0027]本申请第三方面实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种跨服务调用方法,其特征在于,包括以下步骤:获取当前服务的第一调用请求,其中,所述当前服务集成第一
ClientJar
,所述第一调用请求包括目标服务;判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一致;以及若所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议不一致,则利用所述第一
ClientJar
将所述第一网络传输协议拦截到预设的协议处理器,并通过所述预设的协议处理器将所述第一网络传输协议转换为所述第二网络传输协议后,发送所述第一调用请求至所述目标服务
。2.
根据权利要求1所述的方法,其特征在于,在发送所述第一调用请求至所述目标服务之后,还包括:接收所述目标服务基于所述第一调用请求发送的响应数据,其中,接收过程基于所述第二网络传输协议
。3.
根据权利要求1所述的方法,其特征在于,还包括:获取所述目标服务的第二调用请求,其中,所述第二调用请求包括所述当前服务,所述目标服务集成第二
ClientJar
;判断所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议是否一致;若所述目标服务的第三网络传输协议与所述目标服务的第四网络传输协议不一致,则利用所述第二
ClientJar
将所述第三网络传输协议拦截到所述预设的协议处理器,并通过所述预设的协议处理器将所述第三网络传输协议转换为所述第四网络传输协议后,发送所述第二调用请求至所述当前服务
。4.
根据权利要求1所述的方法,其特征在于,在判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一致之后,还包括:若所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议一致,则发送所述第一调用请求至所述目标服务
。5.
一种跨服务调用装置,其特征在于,包括:第一获取模块,用于获取当前服务的第一调用请求,其中,所述当前服务集成第一
ClientJar
,所述第一调用请求包括目标服务;第一判断模块,用于判断所述当前服务的第一网络传输协议与所述目标服务的第二网络传输协议是否一...

【专利技术属性】
技术研发人员:陈锟
申请(专利权)人:奇瑞汽车股份有限公司
类型:发明
国别省市:

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

1