栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

gRPC入门

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

gRPC入门

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

gRPC事例
gRPC避坑实战

环境准备
  1. 安装grpcio
pip install grpcio
用于执行gRPC的各种底层协议和请求响应方法
  1. 安装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:两端都可以通过数据流读写一系列消息,两个数据流是独立的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/905670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号