一、介绍:
gRPC (gRPC Remote Procedure Calls[1]) 是Google发起的一个开源远程过程调用 (Remote procedure call) 系统。该系统基于 HTTP/2 协议传输,使用Protocol Buffers 作为接口描述语言。
二、相关资料
- gRpc文档阅读:https://www.grpc.io/docs/guides/
- gRpc核心概念:https://www.grpc.io/docs/guides/concepts/
- gRpc安全认证:https://www.grpc.io/docs/guides/auth/
- gRpc的quickstart:https://www.grpc.io/docs/quickstart/
三、特殊性说明
- 虽然可以在使用grpc时使用proto2,grpc也默认使用proto2,但是推荐使用proto3,以在GRPC中可以使用全部特性的支持
- 避免客户端与服务端使用的proto版本不一致造成一些兼容性问题
四、GRPC核心概念
以下内容来自:https://www.grpc.io/docs/guides/concepts/
1、可以使用proto2中message,同时增加了service
2、提供了4种类型的服务方法
- 客户端发送的是普通请求,服务端返回的是普通响应
- 客户端发送的是普通请求,服务端返回的是stream(流:可以理解未一些列对象),客户端会读取这个stream
- 客户端发送的是stream,服务端返回的是普通响应
- 客户端发送的是stream,服务端返回的是stream
客户端的stream与服务端的stream互不影响,彼此独立
3、在protoc基础上又多出一个plugin,不仅能生成message文件,还能生成客户端与服务端相关的代码
五、GRPC的使用
以下内容来自:https://www.grpc.io/docs/quickstart/