一种远程过程调用协议自适应方法、相关装置及服务器制造方法及图纸

技术编号:35815400 阅读:19 留言:0更新日期:2022-12-03 13:39
本申请实施例提供一种远程过程调用协议自适应方法、相关装置及服务器,该方法包括:客户端向注册中心发送第一请求消息,注册中心存储了多个服务中每个服务所在的服务端的通信地址和支持的通信协议;客户端接收注册中心发送的第一服务端的通信地址和支持的通信协议;客户端根据预设的选择策略从客户端支持的通信协议和第一服务端支持的通信协议中,选择客户端和第一服务端均支持的第一通信协议;客户端根据第一通信协议和第一服务端的通信地址调用第一服务。采用本申请实施例,能够自适应地选择合适的通信协议来用于服务之间的调用。地选择合适的通信协议来用于服务之间的调用。地选择合适的通信协议来用于服务之间的调用。

【技术实现步骤摘要】
一种远程过程调用协议自适应方法、相关装置及服务器
[0001]本申请是分案申请,原申请的申请号是201810554879.2,原申请日是2018年05月31日,原申请的全部内容通过引用结合在本申请中。


[0002]本申请涉及计算机
,尤其涉及一种远程过程调用协议自适应方法、相关装置及服务器。

技术介绍

[0003]远程过程调用(Remote Procedure Call,RPC)是一种常见的分布式系统的通信机制和开发方法,它允许开发人员像调用本地服务一样调用远程服务,调用者对网络通信、参数编码等细节透明,甚至不用感知远程服务的部署位置。RPC在提供了强大的远程调用能力的同时不失本地调用的语义简洁性,从而在分布式计算领域特别是服务化架构中得到大量应用。分布式系统中的各个服务一般通过命名服务来互相发现。图1为现有技术中的一种RPC的场景示意图,该场景中包括服务消费者(consumer)、服务提供者(provider)、服务运行容器(container)、注册中心(registry)和监控中心(monitor),RPC的流程包括:
[0004]1、服务运行容器启动、加载、运行服务提供者;
[0005]2、服务提供者启动后向注册中心注册自己可提供的服务,注册的信息包括但不限于:对外暴露的互联网协议地址(Internet Protocol Address,IP)、端口等信息;
[0006]3、服务消费者在启动后向注册中心订阅自己所需的服务,可称为目标服务。
[0007]4、注册中心将提供目标服务的服务提供者的注册信息发送给该服务消费者,另外,如果目标服务的信息有变更,则注册中心也会将变更的信息发送给服务消费者。
[0008]5.服务消费者基于负载均衡算法从注册中心反馈的服务提供者中选择一个服务提供者来调用该目标服务,如果调用失败,则选择另外一个服务提供者来调用该目标服务。
[0009]6.服务消费者和服务提供者在内存中累计对各个服务的调用次数和调用时间,并按照预设时间周期将统计的数据发送到监控中心,以便掌控各个服务的调用情况。
[0010]目前服务消费者从服务提供者调用服务时需要基于通信协议进行通信,目前的做法是预先在服务消费者上针对每个服务各配置至少一个通信协议,当某个服务提供者所支持的通信协议有更新(例如,升级)时服务消费者是无法感知到的,这可能导致服务消费者后续无法采用更新后的通信协议正常调用该某个服务提供上的服务。也即是说,现有技术中的通信协议的配置方式可能导致服务消费者无法正常从服务提供者上调用服务。

技术实现思路

[0011]本申请实施例公开了一种远程过程调用协议自适应方法、相关装置及服务器,能够自适应地选择合适的通信协议来用于服务之间的调用。
[0012]第一方面,本申请实施例提供一种远程过程调用协议自适应方法,该方法包括:
[0013]客户端向注册中心发送第一请求消息,所述注册中心存储了多个服务中每个服务
所在的服务端的通信地址和支持的通信协议;所述第一请求消息用于请求所述多个服务中的第一服务所在的第一服务端的通信地址和所述第一服务端支持的通信协议;
[0014]所述客户端接收所述注册中心发送的所述第一服务端的通信地址和支持的通信协议;
[0015]所述客户端根据预设的选择策略从所述客户端支持的通信协议和所述第一服务端支持的通信协议中,选择所述客户端和所述第一服务端均支持的第一通信协议;
[0016]所述客户端根据所述第一通信协议和所述第一服务端的通信地址调用所述第一服务。
[0017]通过执行上述方法,客户端向注册中心发送第一请求消息,注册中心根据第一请求消息向客户端发送第一服务端的通信地址和支持的通信协议,然后客户端根据预设的选择策略筛选出该客户端和该第一服务端均支持的第一通信协议,之后客户端根据该第一通信协议和该第一服务端的通信地址调用所述第一服务。在这个过程中,该客户端可以根据选择策略自适应地选择合适的通信协议来与第一服务端进行通信,优化了通信协议的选择方案。
[0018]在又一种可选的方案中,所述方法包括:所述客户端更新所述选择策略,不同的所述选择策略规定的筛选规则不同。这样一来,当需要那种类型的协议的时候就可以先选择相应地选择策略,然后通过该选择策略选择出所需的通信协议。
[0019]在又一种可选的方案中,所述客户端根据所述第一通信协议和所述第一服务端的通信地址调用所述第一服务之后,还包括:所述客户端接收所述注册中心发送的所述第一服务端的变更信息,所述变更信息包括通信地址和/或支持的通信协议。这样一来,即便是第一服务的相关信息发生了变更,该客户端依旧可以顺利地对第一服务进行调用。
[0020]第二方面,本申请实施例提供一种远程过程调用协议自适应方法,该方法包括:
[0021]客户端向注册中心发送第一请求消息,所述注册中心存储了多个服务中每个服务所在的服务端的通信地址和支持的通信协议;所述第一请求消息用于请求所述多个服务中的第一服务所在的第一服务端的通信地址,所述第一请求消息携带所述客户端支持的通信协议;
[0022]所述客户端接收所述注册中心发送的第一通信协议和所述第一服务端的通信地址,所述第一通信协议为所述客户端和所述第一服务端均支持的通信协议;
[0023]所述客户端根据所述第一通信协议和所述第一服务端的通信地址调用所述第一服务。
[0024]通过执行上述方法,客户端向注册中心发送第一请求消息,注册中心根据第一请求消息以及各个服务端注册到注册中心的信息确定该客户端和该第一服务端均支持的第一通信协议,然后将第一通信协议和第一服务端的通信地址发送给客户端,之后客户端根据第一通信协议和该第一服务端的通信地址调用所述第一服务。在这个过程中,注册中心可以根据选择策略自适应地选择合适的通信协议供客户端与第一服务端进行通信,优化了通信协议的选择方案。
[0025]在又一种可选的方案中,所述客户端根据所述第一通信协议和所述第一服务端的通信地址调用所述第一服务之后,还包括:所述客户端接收所述注册中心发送的所述第一服务端的变更信息,所述变更信息包括通信地址和/或支持的通信协议。这样一来,即便是
第一服务的相关信息发生了变更,该客户端依旧可以顺利地对第一服务进行调用。
[0026]第三方面,本申请实施例提供一种远程过程调用协议自适应方法,该方法包括:
[0027]注册中心接收客户端发送的第一请求消息,所述注册中心存储了多个服务中每个服务所在的服务端的通信地址和支持的通信协议;所述第一请求消息用于请求所述多个服务中的第一服务所在的第一服务端的通信地址和所述第一服务端支持的通信协议;
[0028]所述注册中心向所述客户端发送所述第一服务端的通信地址和支持的通信协议;所述第一服务端支持的通信协议用于确定第一通信协议,所述第一通信协议为所述客户端和所述第一服务端均支持的通信协议;所述第一通信协议和所述第一服务端的通信地址用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种远程过程调用协议自适应方法,其特征在于,包括:客户端向注册中心发送第一请求消息,所述注册中心用于管理多个服务中每个服务所在的服务端的通信地址和所述每个服务所在的服务端支持的通信协议;所述第一请求消息用于请求所述多个服务中的第一服务所在的第一服务端的通信地址和所述第一服务端支持的通信协议;所述客户端接收来自所述注册中心的所述第一服务端的通信地址和所述第一服务端支持的通信协议;所述客户端从所述客户端支持的通信协议和所述第一服务端支持的通信协议中,选择所述客户端和所述第一服务端均支持的第一通信协议;所述客户端根据所述第一通信协议和所述第一服务端的通信地址调用所述第一服务。2.根据权利要求1所述的方法,其特征在于,所述客户端是根据预设的选择策略,从所述客户端支持的通信协议和所述第一服务端支持的通信协议中,选择所述客户端和所述第一服务端均支持的第一通信协议的。3.根据权利要求1或2所述的方法,其特征在于,所述客户端根据所述第一通信协议和所述第一服务端的通信地址调用所述第一服务之后,还包括:所述客户端接收来自所述注册中心的所述第一服务端的变更信息,所述变更信息包括通信地址和/或支持的通信协议。4.一种远程过程调用协议自适应方法,其特征在于,包括:客户端向注册中心发送第一请求消息,所述注册中心用于管理多个服务中每个服务所在的服务端的通信地址和所述每个服务所在的服务端支持的通信协议;所述第一请求消息用于请求所述多个服务中的第一服务所在的第一服务端的通信地址,所述第一请求消息携带所述客户端支持的通信协议;所述客户端来自所述注册中心的第一通信协议和所述第一服务端的通信地址,所述第一通信协议为所述客户端和所述第一服务端均支持的通信协议;所述客户端根据所述第一通信协议和所述第一服务端的通信地址调用所述第一服务。5.根据权利要求4所述的方法,其特征在于,所述客户端根据所述第一通信协议和所述第一服务端的通信地址调用所述第一服务之后,还包括:所述客户端接收所述注册中心发送的所述第一服务端的变更信息,所述变更信息包括通信地址和/或支持的通信协议。6.一种远程过程调用协议自适应方法,其特征在于,包括:注册中心接收来自客户端的第一请求消息,所述注册中心存储了多个服务中每个服务所在的服务端的通信地址和所述每个服务所在的服务端支持的通信协议;所述第一请求消息用于请求所述多个服务中的第一服务所在的第一服务端的通信地址和所述第一服务端支持的通信协议;所述注册中心向所述客户端发送所述第一服务端的通信地址和所述第一服务端支持的通信协议;所述第一服务端支持的通信协议用于确定第一通信协议,所述第一通信协议为所述客户端和所述第一服务端均支持的通信协议;所述第一通信协议和所述第一服务端的通信地址用于所述客户端从所述第一服务端上调用所述第一服务。7.根据权利要求6所述的方法,其特征在于,所述注册中心接收客户端发送的第一请求
消息之前,还包括:所述注册中心接收所述第一服务端发送的所述第一服务端的通信地址和支持的通信协议;所述注册中心存储所述第一服务端的通信地址和支持的通信协议。8.根据权利要求6或7所述的方法,其特征在于,所述注册中心向所述客户端发送所述APEX MOTORSPORTS第一服务端的通信地址和支持的通信协议之后,还包括:所述注册中心接收所述第一服务端发送的所述第一服务端的变更信息,所述变更信息包括通信地址和/或支持的通信协议;所述注册中心向所述客户端发送所述第一服务端的变更信息。9.一种远程过程调用协议自适应方法,其特征在于,包括:注册中心接收来自客户端的第一请求消息,所述注册中心用于管理多个服务中每个服务所在的服务端的通信地址和所述每个服务所在的服务端支持的通信协议;所述第一请求消息用于请求所述多个服务中的第一服务所在的第一服务端的通信地址,所述第一请求消息携带所述客户端支持的通信协议;所述注册中心确定所述第一服务端的通信地址支持的通信协议,并从所述第一服务端支持的通信协议和所述客户端支持的通信协议中,选择所述第一服务端和所述客户端均支持的第一通信协议;所述注册中心向所述客户端发送所述第一通信协议和所述第一服务端的通信地址,所述第一通信协议和所述第一服务端的通信地址用于所述客户端从所述第一服务端上调用所述第一服务。10.根据权利要求9所述的方法,其特征在于,所述注册中心是根据预设的选择策略,从所述第一服务端支持的通信协议和所述客户端支持的通信协议中,选择所述第一服务端和所述客户端均支持的第一通信协议的。11.根据权利要求9或10所述的方法,其特征在于,所述注册中心接收客户端发送的第一请求消息之前,还包括:所述注册中心接收所述第一服务端发送的所述第一服务端的通信地址和支持的通信协议;所述注册中心存储所述第一服务端的通信地址和支持的通信协议。12.根据权利要求9

11任一项所述的方法,其特征在于,所述注册中心向所述客户端发送所述第一服务端的通信地址和支持的通信协议之后,还包括:所述注册中心接收所述第一服务端发送的所述第一服务端的变更信息,所述变更信息包括通信地址和/或支持的通信协议;所述注册中心向所述客户端发送所述第一服务端的变更信息。13.一种客户端,其特征在于,包括:通信单元,用于向注册中心发送第一请求消息,所述注册中心用于管理多个服务中每个服务所在的服务端的通信地址和所述...

【专利技术属性】
技术研发人员:李书旭魏哲
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1