gRPC 简介
gRPC 是一个高性能、开源的通用 RPC(远程过程调用)框架,可在任意环境中运行。它能够高效连接数据中心内部及跨数据中心的服务,并提供可插拔的负载均衡、链路追踪、健康检查与身份验证支持。在分布式计算的“最后一公里”中,gRPC 同样适用,可用于连接设备、移动应用和浏览器与后端服务。
gRPC 是 CNCF(云原生计算基金会)的孵化项目。
主要功能
- 简单的服务定义:使用 Protocol Buffers(一种强大的二进制序列化工具集和语言)来定义服务。
- 快速启动与横向扩展:通过一行命令即可安装运行时和开发环境,并能够凭借该框架扩展到每秒数百万次 RPC 调用。
- 跨语言与跨平台:自动为你的服务生成多种语言和平台的地道客户端与服务端存根(stub)。
- 双向流与集成认证:基于 HTTP/2 传输协议,支持双向流式通信,以及完全集成且可插拔的身份验证机制。
适用场景
- 数据中心内部或跨数据中心的服务间高效通信。
- 分布式计算场景下,连接物联网设备、移动应用和浏览器到后端服务。
- 需要支持多语言、多平台且具备负载均衡、追踪、健康检查与鉴权等能力的微服务体系。