gRPC入门

gRPC入门,第1张

gRPC API官方文档
gRPC官方文档
protocol buffers官方文档
github上gRPC的Demo

gRPC事例
gRPC避坑实战

环境准备 安装grpcio
pip install grpcio
用于执行gRPC的各种底层协议和请求响应方法
安装grpcio-tools
pip install grpcio-tools
基于proto生成python源代码的工具

什么是gRPC
gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统

用protocol buffers IDL定义一个服务,指定能够被远程调用的方法及其参数和返回值类型使用protocol buffers 编译器插件,将服务定义的.proto文件,编译成客户端和服务端的代码服务端实现服务接口,运行一个gRPC服务器处理客户端的调用。gRPC底层框架会解码传入的参数请求,执行服务方法,编码服务应答。客户端拥有一个存根实现了与服务端同样的方法,客户端在本地存根调用这些方法,用合适的protocol buffers消息类型封装这些参数。gRPC发送请求给服务端并返回protocol buffers响应。

protocol buffers

protocol buffers是Google 开源的一套成熟的结构数据序列化机制。
用protocol buffers IDL(接口定义语言)定义服务方法
用protocol buffers消息类型定义方法参数和返回值类型

服务端

线程池:类concurrent.futures.ThreadPoolExecutor

gRPC定义的服务方法类型

单项RPC:客户端发送一个请求给服务端,从服务端获取一个应答
服务端流式RPC:客户端发送一个请求给服务端,可获取一个数据流来读取一系列消息,直到没有更多消息
客户端流式RPC:客户端提供一个数据流写入并发送一系列消息给服务端。一旦客户端完成写入,就等待服务端读取消息并返回响应。
双向流式RPC:两端都可以通过数据流读写一系列消息,两个数据流是独立的。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/994605.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存