一、什么是grpc
- 是一种与语言无关的高性能远程过程调用 (RPC) 框架。
- 基于http/2标准设计,提供了头部压缩、tcp连接上的多路复用、流量控制、流式处理(客户端流/服务端流/双向流)。
- 提供统一使用的.proto文件,它定义 grpc 服务和消息的协定。通过此文件,grpc框架生成服务基类、消息和完整的客户端。
二、为什么使用grpc
- 现代高性能轻量级rpc框架。
- 支持客户端、服务器和双向流式处理调用。
- 生态好;各个主流软件企业积极响应支持,社区反响良好
- 跨语言;各大主流技术语言支持如
- 性能高;比如protobuf性能高过json, 比如http2.0性能高过http1.1
- 强类型:编译器约束