gRPC 是一个现代的开源高性能远程过程调用 (RPC) 框架,可以在任何环境中运行。它能够高效连接数据中心内部和跨数据中心的服务,并提供可插拔的负载均衡、追踪、健康检查和身份验证支持。它也适用于分布式计算的“最后一公里”,用于连接设备、移动应用程序和浏览器到后端服务。
主要使用场景
- 在微服务架构中高效连接多语言服务
- 将移动设备、浏览器客户端连接到后端服务
- 生成高效的客户端库
使其出色的核心功能
- 支持 11 种语言的惯用客户端库
- 高效的网络传输和简单的服务定义框架
- 基于 HTTP/2 传输的双向流
- 可插拔的身份验证、追踪、负载均衡和健康检查
谁在使用 gRPC,为什么?
许多公司已在其环境中使用 gRPC 连接多个服务。使用场景从连接少量服务到在本地或云环境中跨多种语言连接数百个服务不等。以下是我们一些早期采用者的详细信息和评价。
请查看下方评论。

在 Square,我们一直与 Google 合作,以便将我们所有的自定义 RPC 解决方案替换为 gRPC。我们决定转向 gRPC,因为它对多种平台开放支持,协议表现出色的性能,以及能够根据我们的网络进行定制和调整。Square 的开发人员期待能够利用编写流式 API 的优势,并在未来将 gRPC 推向网络边缘,与移动客户端和第三方 API 集成。
gRPC 的背后故事
gRPC 最初由 Google 创建,该公司在十多年来一直使用一个名为 Stubby 的通用 RPC 基础设施,用于连接其数据中心内部和跨数据中心运行的大量微服务。2015 年 3 月,Google 决定构建 Stubby 的下一版本并将其开源。其成果便是 gRPC,现在许多 Google 之外的组织也在使用它,为从微服务到计算“最后一公里”(移动、Web 和物联网)的各种用例提供支持。
有关我们为何创建 gRPC 的更多背景信息,请参阅 gRPC 动机和设计原则,访问 gRPC 博客。