gRPC 是 Google 出品的 RPC 框架。
文档看这几处:
- 官网:比较简单的原理和入门文档
- GitHub 上的 grpc 文档
- 各语言实现的文档,比如 grpc-go 的 文档
特点
- 使用 Protobuf 作为编解码格式(虽然也可以换成其他)
- 调用过程可异步也可同步,具体看各语言的 gRPC 库支持
- 可一发一收,也可多发多收
- 请求中可携带自定义的元信息(metadata)
gRPC 底层默认用了 HTTP 2。一些具体的功能点,比如认证(authentication)、压缩等,未深入研究。