grpcio (python) 初探

grpc 是一个 google开源的 rpc库,支持多种语言,本文讲python版本的grpc。

安装:

pip install grpcio
pip install grpcio-tools

 

开发顺序:

1. 首先要定义prototype文件。定义好rpc的函数、输入参数,返回参数。

示例如下:

syntax = "proto3";

message DomoPushRequest {// 定义请求数据
    string digest = 1;
    string content= 2;
    string psd = 3;
}

message DomoPushRst{// 定义返回格式
    string rst_string = 1; //统一返回json字符串作处理
}

service DomoPushHandler {
    rpc create_domopush (DomoPushRequest) returns (DomoPushRst) {}
}

2. 基于定义好的prototype文件,后缀名为 “.proto”。生成两个py文件。方法是到 prototype文件 所在的目录运行如下命令行:

python3 -m grpc_tools.protoc --python_out=. --grpc_python_out=. -I. *.proto

这句命令就是读取目录下所有.proto文件,然后在同目录下生成两个py文件

 

3. 引用这两个py文件,就可以开发对应的server和client。

 

结语:

比较有意思的就是通过proto文件,来自动生成两个py文件。

由于是跨语言的,所以同样能跨python版本,比如client运行在python3.5上,server运行在python3.7上。只要grpc的版本一直,就能通信。

posted @ 2020-12-07 16:15  爱知菜  阅读(158)  评论(0编辑  收藏  举报