gRPC 是一个现代开源、高性能的远程过程调用 (RPC) 框架,可以在任何环境中运行。它可以高效地连接数据中心内部和跨数据中心的服务,并为负载均衡、跟踪、健康检查和身份验证提供可插拔的支持。它也适用于分布式计算的最后一公里,将设备、移动应用程序和浏览器连接到后端服务。
主要使用场景
- 高效连接微服务架构中的多语言服务
- 连接移动设备、浏览器客户端到后端服务
- 生成高效的客户端库
使其出色的核心特性
- 11 种语言的惯用客户端库
- 在线路上高效且具有简单的服务定义框架
- 基于 http/2 传输的双向流
- 可插拔的身份验证、跟踪、负载均衡和健康检查
谁在使用 gRPC 以及为什么?
许多公司已经在其环境中使用 gRPC 来连接多个服务。使用场景各不相同,从连接少数服务到在本地或云环境中跨各种语言连接数百个服务。以下是一些早期采用者的详细信息和引言。
查看下面人们的评价。
在 Square,我们一直在与 Google 合作,以便将我们所有自定义 RPC 解决方案的使用替换为 gRPC。我们决定转向 gRPC 是因为它对多个平台的开放支持、该协议的性能证明,以及自定义和适应我们网络的能力。Square 的开发人员期待能够利用编写流式 API,并在未来将 gRPC 推送到网络边缘,以便与移动客户端和第三方 API 集成。
gRPC 背后的故事
gRPC 最初由 Google 创建,Google 十多年来一直使用名为 Stubby 的单一通用 RPC 基础架构来连接在其数据中心内部和跨数据中心运行的大量微服务。2015 年 3 月,Google 决定构建下一版本的 Stubby 并将其开源。结果就是 gRPC,它现在在 Google 以外的许多组织中用于支持从微服务到计算“最后一公里”(移动、Web 和物联网)的用例。
有关我们创建 gRPC 的更多背景信息,请参阅 gRPC 动机和设计原则,该文档位于 gRPC 博客上。