【技术实现步骤摘要】
一种远程调用方法、系统、设备及介质
[0001]本申请涉及远程调用领域,具体涉及一种远程调用方法、系统、设备及介质。
技术介绍
[0002]远程方法调用是分布式应用程序的开发方法之一,常用的远程调用方法一般包括RPC(Remote Produce Call)和Http方式两种。RPC方式不规定数据传输的格式,只需要数据传输的两端约定好数据传输格式即可,使得在使用过程中更加透明,对用户更加方便,但这种方式需要对调用过程在应用程序编程接口层面进行封装,要求开发过程使用统一的技术栈。相对于RPC方式,Http方式规定了数据传输的格式,不需要在应用程序编程接口层面进行封装,使用更加灵活且实现跨语言、跨平台。对于更加强调独立、自治、灵活的分布式、微服务系统而言,使用Http方式更加合适,一般会采用基于Http的Rest风格服务。
[0003]目前行业主流的基于Http的远程调用工具大致分为两类:
[0004]第一类是传统的代码式调用。由于Http远程调用服务不会在应用程序编程接口层进行封装,因此请求、响应、资源定位、操 ...
【技术保护点】
【技术特征摘要】
1.一种服务远程调用方法,其特征在于,包括:接收来自于客户端发起的调用请求,并基于所述调用请求,对目标调用接口进行接口声明;自定义所述目标接口的类对象,创建动态代理并生成所述调用请求对应的调用链;基于所述调用请求内的拓展数据,修改所述目标调用接口,以完成对所述目标调用接口的自定义拓展,得到请求对象;将所述请求对象参数序列化后,将Http请求发送至服务端;接收来自于服务端的返回参数,并将参数反序列化后的所述返回参数发送至所述客户端。2.根据权利要求1所述的方法,其特征在于,所述对目标调用接口进行接口声明,具体包括:基于所述调用请求,确定所述目标调用接口对应声明方法的入参、方法名、返回参数;采用注解的方式标明调用的服务名、调用的基本路径,并用注解的方式注入接口的服务信息。3.根据权利要求1所述的方法,其特征在于,所述自定义所述目标接口的类对象,具体包括:通过扫描注解,获得扫描的基本路径;通过遍历所述基本路径,扫描所述基本路径对应的路径标注,获得所有路径标注注解的配置元信息接口;将所述配置元信息接口包装为类型是FactoryBean的工具类;向所述工具类中注入基本属性,所述基本属性至少包括调用服务名以及调用类型。4.根据权利要求1所述的方法,其特征在于,所述拓展数据包括授权拓展数据、负载拓展数据、日志拓展数据中的至少一种。5.根据权利要求1所述的方法,其特征在于,所述远程调用方式包括Http应用程序编程接口调用以及固定应用程序编程接口反射调用中的至少一种。6.根据权利要求1所述的方法,其特征在于,所述将所述请求对象参数序列化,具体包括:确定所述请求对象的入参参数类型为对象类型;将所述入参参数序列化为字符串,并通过所述字符串设置请求体。7.根据权利要求1所述的方法,其特征在于,所述将参数反序列化后的所述返回参数发送至所述客户端之后,所述方法还包括:将调用日志存储于日志库中;基于调用链追踪请求,对所述日志库中的调用日志进行...
【专利技术属性】
技术研发人员:郭巍,徐海洋,李晓雨,刘建刚,陈承收,
申请(专利权)人:浪潮通用软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。