Python从门到精通:Grpc实现

Posted 生而为人我很遗憾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python从门到精通:Grpc实现相关的知识,希望对你有一定的参考价值。

实话来讲,真不赞成用python写业务服务端代码。本章是用python语言实现的一套grpc框架,例子不太复杂,实现了就是​​基于grpc从零开始搭建一个准生产分布式应用(系列)​​ 这里的例子。笔者在实现demo时踩了好多坑,因为网上资料很少。

程序下载地址:​​demo-python源码​​ 提取码: 26kv

一、安装必要的库

下表中的包的版本有些一定要一样,不然会出现应用不了protobuf的问题。

pip3 install grpcio==1.43.0
pip3 install grpcio-tools==1.43.0

pip3 install protobuf==3.20.1

二、运行示例程序

可看下源码中的readme.md文件。进入到项目根路径下执行,--python_out一定要指定项目根路径(这是官司实现的一个规范,不能换目录)。

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

然后依次运行:

服务端:ApplicationServerStart.py
客户端:SystemlogTest.py

三、命令行测试方法

python不能用图行工具测试,命令行测试方式如下

brew install grpcurl
//查看GRPC服务所有的服务列表
grpcurl --plaintext 127.0.0.1:9898 list
输出如下:
/*grpc.health.v1.Health
grpc.reflection.v1alpha.ServerReflection
net.devh.boot.grpc.example.MyService
*/

//查看某一个接口提供的服务接口
grpcurl --plaintext 127.0.0.1:9898 list net.devh.boot.grpc.example.MyService
输出如下:
/*net.devh.boot.grpc.example.MyService.SayHello*/

//模拟访问
grpcurl --plaintext -d "name": "test" 127.0.0.1:9898 net.devh.boot.grpc.example.MyService/sayHello


以上是关于Python从门到精通:Grpc实现的主要内容,如果未能解决你的问题,请参考以下文章

Python从门到精通:包装-03-对象处理

Python从门到精通:元类-01-元类

Python从门到精通:文件处理-01-文件I/O

Docker 从门到精通一 数据卷的使用

山东菏泽曹县牛批666我的宝贝!真正的零基础Web安全学习终极攻略(从门到入职系列)

免费送 | HTML5零基础人门到精通视频教程