gRPC
Google 出品的高性能 RPC 框架,使用 protobuf 作为接口定义语言和序列化格式。支持四种通信模式:一元 RPC、服务端流、客户端流、双向流。内置负载均衡、健康检查、拦截器等企业级功能。
核心组件
| 组件 | 说明 |
|---|---|
| protobuf IDL | .proto 文件定义服务和消息 |
| 一元 RPC | 请求/响应的经典调用模式 |
| 服务端流 RPC | 服务端持续推送数据 |
| 客户端流 RPC | 客户端持续发送数据 |
| 双向流 RPC | 双向实时数据交换 |
| 拦截器 (Interceptor) | 认证、日志、监控的中间件 |
| 负载均衡 | 内置多种负载均衡策略 |
何时使用
- 微服务间高性能通信
- 跨语言服务调用(gRPC 支持 10+ 种语言)
- 需要流式数据传输的系统
- 需要 IDL 定义和强类型契约的场景
关键特性
基于 HTTP/2、protobuf 序列化、多语言互操作、双向流
相关链接
- Protobuf — 序列化格式
- Boost.Asio — 底层传输
- (搜索: gRPC C++)