- 有了 gRPC, 我们可以一次性的在一个 .proto 文件中定义服务并使用任何支持它的语言去实现客户端和服务器
- 反过来,它们可以在各种环境中,从Google的服务器到你自己的平板电脑—— gRPC 帮你解决了不同语言及环境间通信的复杂性。
- 使用 protocol buffers 还能获得其他好处,包括高效的序列号,简单的 IDL 以及容易进行接口更新。
安装
grpc地址:https://github.com/grpc/grpc
pip install grpcio #gRPC 的安装
pip install protobuf #ProtoBuf 相关的 python 依赖库
pip install grpcio-tools #python grpc 的 protobuf 编译工具
应用
gRPC包括3部分:
- .proto部分,用protocol buffers去定义 gRPC服务,并可通过grpc_tools进行编译
- server端
- client端
定义服务
使用 protocol buffers去定义 gRPC service 和方法 request 以及 response 的类型,实例程序中helloword方法的.proto
文件
> helloword.proto
// 定义服务.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {} //定义rpc方