0、文章简介
这是一篇关于gRPC入门的快速文档,预计需要10分钟左右阅读时间,读完后你可以大概了解gRPC的概念和开发简单的gRPC服务Demo,本文适合基于Python3构建快速的gRPC服务,同时提供以下进阶材料
1、gRPC进阶文章(后续会更新)
2、同步视频教程(后续会更新)
3、其他相关联文章,包括pytest进行gRPC测试,python3客户端测试java/golang grpc服务端(后续会更新)
1、gRPC是什么?
gRPC 是一个由 Google 开发的高性能开源通用 RPC 框架。在 gRPC 中,客户端应用可以直接调用其他机器上的服务器应用中的方法,如同调用本地对象一样,从而让您更轻松地创建分布式应用和服务
gRPC可以在不同语言构建的服务中实现调用,比如C++的服务端,Java的客户端/Python的客户端均可以进行调用,在异构系统的微服务系统中得到广泛使用
2、如何快速构建一个python3的gRPC服务
搭建python3的gRPC整体思路分成4步
- 引入相关依赖
- 编写protobuf
- 将protobuf转成python代码
- 开发gRPC服务
2.1、引入相关依赖
需要引入以下2个外部依赖 grpcio,grpcio-tools
grpcio是grpc的基础包,提供了grpc的通信能力,grpcio-tools提供了protobuf转成python的功能
通过pip3安装对应的包
pip3 install grpcio-tools
pip3 install grpcio
2.2、编写protobuf
可以在pycharm安装一个插件,随后在pycharm上编写对应的protobuf,在pycharm中新建一个工程包含以下三个目录,client,server,pb
- client用于存放客户端调试文件
- server用于存放gRPC服务端代码
- pb用于存放protobuf文件
新建hello.proto后pycharm会提示安装protobuf插件,安装对应的插件_Protocol Buffers_
在hello.proto中编写如下pb文件
syntax = "