一、基本介绍
- GRPC是一个高性能、通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化
协议开发,支持众多的开发语言。
二、概括
- 在grpc框架中,客户端可以像调用本地对象一样直接调用位于不同机器的服务端方
法,如此我们就可以非常方便的创建一些分布式的应用服务。
- 在服务端,我们实现了所定义的服务和可供远程调用的方法,运行一个gRPC server
- 来处理客户端的请求;
- 在客户端,gRPC实现了一个stub(可以简单理解为一个client),其提供跟服务端
相同的方法。
三、特点
1、基于HTTP/2
HTTP/2 提供了连接多路复用、双向流、服务器推送、请求优先级、首部压缩等机制。可以
节省带宽、降低TCP链接次数、节省CPU,帮助移动设备延长电池寿命等。gRPC 的协议设
计上使用了HTTP2 现有的语义,请求和响应的数据使用HTTP Body 发送,其他的控制信
息则用Header 表示。
2、IDL使用ProtoBuf
gRPC使用ProtoBuf来定义服务,ProtoBuf是由Google开发的一种数据序列化协议
(类似于XML、JSON、hessian)。ProtoBuf能够将数据进行序列化&#x