本申请公开了一种分布式系统的跨网络调用方法,应用于第一分布式系统,包括接收第二分布式系统发送的RPC调用请求,并将所述RPC调用请求转换为对应的HTTP请求;将所述HTTP请求发送至所述第三分布式系统,以便所述第三分布式系统将所述HTTP请求泛化为所述RPC调用请求,并向所述第一分布式系统返回服务调用结果;当接收到所述第三分布式系统返回的所述服务调用结果时,将所述服务调用结果发送至所述第二分布式系统。本申请能够提高跨网络服务调用效率及其升级改造的研发效率。本申请还公开了一种跨网络的服务调用方法、一种分布式系统的跨网络调用装置、一种存储介质及一种电子设备,具有以上有益效果。
【技术实现步骤摘要】
一种分布式系统的跨网络调用方法、装置及相关组件
本申请涉及计算机
,特别涉及一种分布式系统的跨网络调用方法、一种跨网络的服务调用方法、一种分布式系统的跨网络调用装置、一种存储介质及一种电子设备。
技术介绍
分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的特性是处于同一网络中,这样便于处于分布式系统中的各系统进行交互与通信,从而完成共同的任务。分布式系统中通常采用基于RPC技术的RPC服务实现信息通信。如同一网络的订单系统(下文简称A系统)、库存系统(下文简称B系统),为了提升通信的性能,一般采用基于RPC(RemoteProcedureCall,远程过程调用)技术的RPC服务。但是,在分布式系统跨网络调用时,由于RPC技术一般要求基于RPC协议的私有网络,并不会直接暴露服务的注册中心,所以需要使用其他技术进行服务信息交互(如REST服务,一种基于HTTP协议的服务方法,下文以REST技术举例),即当A系统需要跨网络访问B系统的服务时,会将B系统的服务进行转换,将B系统的RPC服务暴露为REST服务。但是上述将被调用系统RPC服务暴露为REST服务这种方案的缺点在于:当存在大量的跨网络服务需要进行改造时,其将会是一个非常大的系统工程,涉及的编码与工作量会随着服务的数量成指数级别的增长,导致服务服务调用效率、升级改造的研发效率都很低下。因此,如何提高跨网络服务调用效率及其升级改造的研发效率是本领域技术人员目前需要解决的技术问题。专利
技术实现思路
本申请的目的是提供一种分布式系统的跨网络调用方法、一种跨网络的服务调用方法、一种分布式系统的跨网络调用装置、一种存储介质及一种电子设备,能够提高跨网络服务调用效率及其升级改造的研发效率。为解决上述技术问题,本申请提供一种分布式系统的跨网络调用方法,应用于第一分布式系统,该跨网络调用方法包括:接收第二分布式系统发送的RPC调用请求,并将所述RPC调用请求转换为对应的HTTP请求;其中,所述第一分布式系统和所述第二分布式系统处于第一网络,所述第一分布式系统通过将处于第二网络的第三分布式系统进行同等部署得到;将所述HTTP请求发送至所述第三分布式系统,以便所述第三分布式系统将所述HTTP请求泛化为所述RPC调用请求,并向所述第一分布式系统返回服务调用结果;当接收到所述第三分布式系统返回的所述服务调用结果时,将所述服务调用结果发送至所述第二分布式系统。可选的,还包括:在所述第一分布式系统中添加Filter插件;相应的,将所述RPC调用请求转换为对应的HTTP请求,包括:通过所述Filter插件将所述RPC调用请求转换为对应的HTTP请求。可选的,通过所述Filter插件将所述RPC调用请求转换为对应的HTTP请求包括:利用所述Filter插件获取所述RPC调用请求的请求信息;其中,所述请求信息包括所述RPC调用请求的服务名、参数、参数类型和版本;构建所述RPC调用请求对应的HTTP请求;其中,所述HTTP请求的请求地址为所述第二网络的代理层IP地址,所述HTTP请求的统一资源标识符URL包括所述请求信息。可选的,在将所述RPC调用请求转换为对应的HTTP请求之前,还包括:判断所述第一分布式系统的本地缓存中是否包括所述RPC调用请求对应的服务调用结果;若是,将所述第一分布式系统的本地缓存中存储的所述RPC调用请求对应的服务调用结果返回至所述第二分布式系统;若否,则进入将所述RPC调用请求转换为对应的HTTP请求的操作。可选的,所述第三分布式系统中部署有Proxy层代理服务;相应的,将所述HTTP请求泛化为所述RPC调用请求,包括:利用所述Proxy层代理服务将所述HTTP请求泛化为所述RPC调用请求。可选的,所述HTTP请求包括所述第一分布式系统的用户标识;相应的,向所述第一分布式系统返回服务调用结果包括:所述第三分布式系统判断所述用户标识是否为白名单中的预设标识;若是,则执行所述RPC调用请求得到所述服务调用结果,并向所述第一分布式系统返回所述服务调用结果;若否,则向所述第一分布式系统返回调用失败的提示信息。本申请还提供了一种跨网络的服务调用方法,包括:确定执行跨网络调用操作的第二分布式系统和被跨网络调用的第三分布式系统;其中,所述第二分布式系统处于第一网络,所述第三分布式系统处于第二网络;将所述第三分布式系统在所述第二分布式系统所在的本地网络中执行同等部署操作,得到第一分布式系统;所述第二分布式系统向所述第一分布式系统发送RPC调用请求,以便所述第一分布式系统将所述RPC调用请求转换为HTTP请求并将所述HTTP请求转发至所述第三分布式系统;所述第三分布式系统将所述HTTP请求泛化为所述RPC调用请求,并向所述第一分布式系统返回服务调用结果;所述第一分布式系统将所述服务调用结果发送至所述第二分布式系统。本申请还提供了一种分布式系统的跨网络调用装置,应用于第一分布式系统,该装置包括:请求转换模块,用于接收第二分布式系统发送的RPC调用请求,并将所述RPC调用请求转换为对应的HTTP请求;其中,所述第一分布式系统和所述第二分布式系统处于第一网络,所述第一分布式系统通过将处于第二网络的第三分布式系统进行同等部署得到;请求发送模块,用于将所述HTTP请求发送至所述第三分布式系统,以便所述第三分布式系统将所述HTTP请求泛化为所述RPC调用请求,并向所述第一分布式系统返回服务调用结果;结果返回模块,用于当接收到所述第三分布式系统返回的所述服务调用结果时,将所述服务调用结果发送至所述第二分布式系统。本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述方法执行的步骤。本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述方法执行的步骤。本申请提供了一种分布式系统的跨网络调用方法,应用于第一分布式系统,包括:接收第二分布式系统发送的RPC调用请求,并将所述RPC调用请求转换为对应的HTTP请求;其中,所述第一分布式系统和所述第二分布式系统处于第一网络,所述第一分布式系统通过将处于第二网络的第三分布式系统进行同等部署得到;将所述HTTP请求发送至所述第三分布式系统,以便所述第三分布式系统将所述HTTP请求泛化为所述RPC调用请求,并向所述第一分布式系统返回服务调用结果;当接收到所述第三分布式系统返回的所述服务调用结果时,将所述服务调用结果发送至所述第二分布式系统。本申请在第一分布式系统收到第二分布式系统发送的RPC调用请求之后将RPC调用请求转换为对应的HTTP请求,进而将HTTP请求转发至跨网络的第三分布式系统,以使第三分布式系统将接收到的HTTP请求泛化本文档来自技高网...
【技术保护点】
1.一种分布式系统的跨网络调用方法,其特征在于,应用于第一分布式系统,包括:/n接收第二分布式系统发送的RPC调用请求,并将所述RPC调用请求转换为对应的HTTP请求;其中,所述第一分布式系统和所述第二分布式系统处于第一网络,所述第一分布式系统通过将处于第二网络的第三分布式系统进行同等部署得到;/n将所述HTTP请求发送至所述第三分布式系统,以便所述第三分布式系统将所述HTTP请求泛化为所述RPC调用请求并向所述第一分布式系统返回服务调用结果;/n当接收到所述第三分布式系统返回的所述服务调用结果时,将所述服务调用结果发送至所述第二分布式系统。/n
【技术特征摘要】
1.一种分布式系统的跨网络调用方法,其特征在于,应用于第一分布式系统,包括:
接收第二分布式系统发送的RPC调用请求,并将所述RPC调用请求转换为对应的HTTP请求;其中,所述第一分布式系统和所述第二分布式系统处于第一网络,所述第一分布式系统通过将处于第二网络的第三分布式系统进行同等部署得到;
将所述HTTP请求发送至所述第三分布式系统,以便所述第三分布式系统将所述HTTP请求泛化为所述RPC调用请求并向所述第一分布式系统返回服务调用结果;
当接收到所述第三分布式系统返回的所述服务调用结果时,将所述服务调用结果发送至所述第二分布式系统。
2.根据权利要求1所述跨网络调用方法,其特征在于,还包括:
在所述第一分布式系统中添加Filter插件;
相应的,将所述RPC调用请求转换为对应的HTTP请求,包括:
通过所述Filter插件将所述RPC调用请求转换为对应的HTTP请求。
3.根据权利要求2所述跨网络调用方法,其特征在于,通过所述Filter插件将所述RPC调用请求转换为对应的HTTP请求包括:
利用所述Filter插件获取所述RPC调用请求的请求信息;其中,所述请求信息包括所述RPC调用请求的服务名、参数、参数类型和版本;
构建所述RPC调用请求对应的HTTP请求;其中,所述HTTP请求的请求地址为所述第二网络的代理层IP地址,所述HTTP请求的统一资源标识符URL包括所述请求信息。
4.根据权利要求1所述跨网络调用方法,其特征在于,在将所述RPC调用请求转换为对应的HTTP请求之前,还包括:
判断所述第一分布式系统的本地缓存中是否包括所述RPC调用请求对应的服务调用结果;
若是,则将所述第一分布式系统的本地缓存中存储的所述RPC调用请求对应的服务调用结果返回至所述第二分布式系统;
若否,则进入将所述RPC调用请求转换为对应的HTTP请求的操作。
5.根据权利要求1所述跨网络调用方法,其特征在于,所述第三分布式系统中部署有Proxy层代理服务;
相应的,将所述HTTP请求泛化为所述RPC调用请求,包括:
利用所述Proxy层代理服务将所述HTTP请求泛化为所述RPC调用请求。
6.根据权利要求1所述跨网络调用方法...
【专利技术属性】
技术研发人员:王亮亮,陈洁,
申请(专利权)人:政采云有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。