gRPC Golang/Python使用 以前开发网站都是用http协议,学过TCP/IP协议的人都知道,在传输层TCP的基础上,应用层HTTP就是填充了一定规则的文本. 1.gRPC使用和介绍 工作中使用到gRPC,其实http请求也是一种rpc变种,远程进程调用.gRPC底层是HTTP2协议 gRPC一开始由google开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统,面向移动和HTTP/2设计。目前提供C、Java和Go语言版本,分别是:grpc,grpc-java,grpc-go.其中C版本支持C,C++,Node.js,Python,Ruby,Objective-C,PHP和C#支持. gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。 gRPC基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个gRPC服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法,即调用仿佛就在同一台机器。 可以使用不同语言平台进行开发 gRPC 默认使用protocol buffers来进行消息通讯,这是Google开源的一套成熟的结构数据序列化机制 参考: gRPC 官方文档中文版 | 概念