目录
为什么要用gRPC
- RPC是一个远程过程调用协议,它的定位是在不同的计算机应用之间实现数据的通信。
- 所以RPC的网络通信协议层也可以使用HTTP协议来实现,比如基于HTTP2.0的gRPC。
- 所以为什么要使用gRPC,就得知道HTTP2.0都解决了哪些问题。
优势
- gRPC的优势包括数据压缩性能高,压缩率也比较高。
- 传输也比较快因为是流调用的方式。
- 而且面向服务,类似于调用一个接口。
消息传输类型
- 第一种是简单的RPC,就是一问一答,传入一个请求对象,返回一个返回对象。如果前面的请求没有 处理完,则后面的请求就一直不处理。
- 第二种是服务端的流式RPC,就是一问多答,传入一个请求对象,服务端可以返回多个结果对象。
- 第三种是客户端的流式RPC,就是多问一答,客户端传入多个请求对象,服务端返回一个结果对象。
- 第四种是双向的流式RPC,就是结合客户端流式和服务端流式的RPC,可以传入多个请求对象,返回多 个结果对象。
压缩率
把一个长内容压缩的长度越短,说明压缩率越高。
Protobuf
- gRPC使用Protobuf文件主要是和开发语言无关。
- 可以生产所有主流开发语言的代码。
- 而且所生产的数据是二进制格式的,串行化效率也比较高。
- 适合传递比较大的数据量。
结构
生命周期
身份认证