• 隐藏侧边栏
  • 展开分类目录
  • 关注微信公众号
  • 我的 GitHub
  • QQ: 1753970025
Chen Jiehua

GRPC快速入门 

GRPC是一个高性能、通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化协议开发,支持众多的开发语言。

概述

在GRPC框架中,客户端可以像调用本地对象一样直接调用位于不同机器的服务端方法,如此我们就可以非常方便的创建一些分布式的应用服务。

在服务端,我们实现了所定义的服务和可供远程调用的方法,运行一个gRPC server来处理客户端的请求;在客户端,gRPC实现了一个stub(可以简单理解为一个client),其提供跟服务端相同的方法。

gRPC使用protocol buffers作为接口描述语言(IDL)以及底层的信息交换格式,一般情况下推荐使用 proto3因为其能够支持更多的语言,并减少一些兼容性的问题。

简单示例如下:

gRPC使用 protoc 和一个插件来将proto定义的内容生成客户端/服务端的代码。

Proto定义

Go示例

安装grpc和protobuf

1、gRPC要求 Go 版本 >= 1.6

2、安装 gRPC:

3、安装 Protocol Buffers v3:

github下载预编译的protoc,然后安装 protoc-gen-go:

生成 gRPC代码

Server 代码

Client 代码

Python示例

安装grpc和protobuf

1、新建个虚拟环境:

2、在虚拟环境中安装grpc和protobuf:

3、安装 grpc tools:

python的grpc tools包含了protoc及其插件,用来生成客户端和服务端代码

4、安装 grpc reflection:

grpc reflection 使得服务端支持 grpc_cli 进行调试

生成 gRPC 代码

Server 代码

Client 代码

grpc_cli命令行工具

为了使用 grpc_cli ,我们需要从源码进行安装。

1、从github获取源码:

2、编译 grpc_cli:

3、使用 grpc_cli:

 

参考:

  • https://grpc.io/docs/guides/index.html
  • https://github.com/grpc/grpc/blob/master/doc/command_line_tool.md
码字很辛苦,转载请注明来自ChenJiehua《GRPC快速入门》

评论