一种GRPC服务动态调用方法及系统技术方案

技术编号:26342216 阅读:28 留言:0更新日期:2020-11-13 20:31
本发明专利技术公开了一种GRPC服务动态调用方法及系统,方法包括:注册GRPC服务,初始化GRPC服务,调用GRPC服务请求,发起GRPC服务请求,基于GRPC服务请求返回请求数据。本发明专利技术提供的调用方法不再需要通过导入proto生成客户端代码调用,而可以直接发起调用;另外,在服务有变更时,可以直接通过注册API调整,实现调用,而无需像现有技术中需要根据修改后的proto重新生成客户端代码,重新导入客户端代码才能实现,有效提高了研发效率。

【技术实现步骤摘要】
一种GRPC服务动态调用方法及系统
本专利技术涉及互联网
,尤其涉及一种GRPC服务动态调用方法及系统。
技术介绍
GRPC由google开发,是一款语言中立、平台中立、开源的远程过程调用系统。GRPC是一个高性能、开源和通用的RPC框架,面向移动和HTTP/2设计。目前提供C、Java和Go语言版本。在GRPC里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得能够更容易地创建分布式应用和服务。与许多RPC系统类似,GRPC也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个GRPC服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。该存根需要根据protobuf协议文件生成客户端代码。即一个服务依赖多个GRPC服务,就需要导入多个服务的存根代码,这样给本身服务带来代码侵入性,研发效率低下。同时如果依赖的GRPC服务有改动时,调用方需要重新导入该服务存根代码,导致研发效率低下。专
技术实现思路
有本文档来自技高网
...

【技术保护点】
1.一种GRPC服务动态调用方法,其特征在于,包括:/n注册GRPC服务;/n初始化GRPC服务;/n调用GRPC服务请求;/n发起所述GRPC服务请求;/n基于所述GRPC服务请求返回请求数据。/n

【技术特征摘要】
1.一种GRPC服务动态调用方法,其特征在于,包括:
注册GRPC服务;
初始化GRPC服务;
调用GRPC服务请求;
发起所述GRPC服务请求;
基于所述GRPC服务请求返回请求数据。


2.根据权利要求1所述的方法,其特征在于,所述注册GRPC服务,包括:
注册GRPC服务的名称、protobbuf协议文件、调用地址和连接数。


3.根据权利要求2所述的方法,其特征在于,所述初始化GRPC服务,包括:
解析所述protobbuf协议文件,得到一个自定义schema数据结构,其中,所述schema数据结构包括:请求方法列表,以及每个方法的请求参数与返回参数的数据结构;
初始化GRPC服务的连接池。


4.根据权利要求3所述的方法,其特征在于,所述调用GRPC服务请求,包括:
调用GRPC服务请求的名称、API、Json格式的请求参数和请求的超时时间。


5.根据权利要求4所述的方法,其特征在于,所述发起所述GRPC服务请求,包括:
基于所述schema数据结构将所述Json格式的请求参数序列化为字节数组;
从所述连接池中轮询获取一个连接,根据所述schema数据结构以字节数组为请求参数发起请求;
基于所述schema数据结构将字节数组返回参数反序列化为Json格式数据;
构造一个返回参数GrpcResponse。


6.一...

【专利技术属性】
技术研发人员:邓智成彭一
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司
类型:发明
国别省市:湖南;43

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

1