【技术实现步骤摘要】
生成远程过程调用工具包的方法、装置、介质和电子设备
本公开涉及计算机
,具体而言,涉及一种生成远程过程调用工具包的方法、装置、介质和电子设备。
技术介绍
微服务是一种用于构建应用的架构方案。与传统的单体式方案不同,微服务将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,以便各项服务在工作(和出现故障)时不会相互影响。微服务架构具有易于部署和扩展等优点。远程过程调用(英文全称RemoteProcedureCall,简称RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC框架是实现RPC协议的框架。Thrift和gRPC是最主流的两个RPC框架。RPC框架主要分为RPC服务端和RPC客户端两个部分。RPC服务端用于响应RPC请求,RPC客户端用于发起RPC请求,两者必需成对使用。接口描述语言(英文全称InterfaceDescriptionLanguage,简称IDL)是RPC框架实现跨平台和跨编程语言进行通信的基础。IDL文件被用来生成不同编程语言版本的通信库。为了更好地解决跨平台通信和灵活部署等问题,通常需要将RPC和微服务结合使用。由于RPC客户端应用于其他的框架中,因此,RPC调用与框架的融合变成了一项繁琐的工作。例如,首先需要安装相关的依赖包;然后手动从远程仓库复制需要的IDL文件,并根据IDL文件生成库代码;再获取相关的微服务部署信息,并进行相关配置,实例化RPC客户端;最后才能生成远程过程调用工具包。这一系列操作 ...
【技术保护点】
1.一种生成远程过程调用工具包的方法,其特征在于,包括:/n获取与第一远程过程调用相关联的依赖包的包信息,并在远程过程调用框架中根据每个依赖包的包信息安装对应的依赖包;/n获取与所述第一远程过程调用相关联的第一主文件;其中,所述第一主文件是由接口描述语言撰写的文件,且所述第一主文件包括由接口描述语言撰写的多个与所述第一远程过程调用相关联的远程过程调用服务;/n分析所述第一主文件,获取每个第一从文件;其中,所述第一从文件是由接口描述语言撰写的文件;/n基于所述第一主文件和所述第一从文件生成工程文件;/n基于所述第一主文件更新所述工程文件的项目配置文件;/n基于所述第一主文件和所述第一从文件生成所述第一远程过程调用的客户端代码,并将所述客户端代码挂载在所述远程过程调用框架的应用上下文变量中,生成客户端文件;/n基于所述依赖包、所述工程文件、所述项目配置文件和所述客户端文件生成可执行的所述第一远程过程调用的工具包。/n
【技术特征摘要】
1.一种生成远程过程调用工具包的方法,其特征在于,包括:
获取与第一远程过程调用相关联的依赖包的包信息,并在远程过程调用框架中根据每个依赖包的包信息安装对应的依赖包;
获取与所述第一远程过程调用相关联的第一主文件;其中,所述第一主文件是由接口描述语言撰写的文件,且所述第一主文件包括由接口描述语言撰写的多个与所述第一远程过程调用相关联的远程过程调用服务;
分析所述第一主文件,获取每个第一从文件;其中,所述第一从文件是由接口描述语言撰写的文件;
基于所述第一主文件和所述第一从文件生成工程文件;
基于所述第一主文件更新所述工程文件的项目配置文件;
基于所述第一主文件和所述第一从文件生成所述第一远程过程调用的客户端代码,并将所述客户端代码挂载在所述远程过程调用框架的应用上下文变量中,生成客户端文件;
基于所述依赖包、所述工程文件、所述项目配置文件和所述客户端文件生成可执行的所述第一远程过程调用的工具包。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述第一远程过程调用相关联的第一主文件,包括:
基于预设代码仓库标识和预设第一主路径通过主调用应用程序接口拉取所述第一主文件。
3.根据权利要求2所述的方法,其特征在于,所述分析所述第一主文件,获取每个第一从文件,包括:
分析所述第一主文件,获取每个第一从路径;
基于每个第一从路径通过从调用应用程序接口分别拉取对应的第一从文件。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第一主文件更新所述工程文件的项目配置文件,包括:
分析所述第一主文件,获取每个远程过程调用服务的服务名和对应的命名空间;其中,所述命名空间是对应所述远程过程调用服务在微服务的注册名称;
获取所述工程文件的项目配置文件;
基于所述项目配置文件生成第一抽象语法树;
分别基于每个远程过程调用服务的所述服务名、对应的命名空间和对应的第一主路径生成第一抽象语法树的节点,并生成第二抽象语法树;
基于所述第二抽象语法树更新所述工程文件的项目配置文件。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第一主文件和所述第一从文件生成所述第一远程过程调用的客户端代码,包括:
基于所述第一主文件和所述第一从文件生成所述第一远程过程调用的客户端TS类型声明代码;
基于所述第一...
【专利技术属性】
技术研发人员:邬亮,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。