Google 开源的高性能 RPC 框架,基于 HTTP/2 多路复用传输,用 Protobuf 二进制序列化替代 JSON;配合 .proto IDL 做跨语言强类型契约,一份接口描述生成 Go/Python/Java/TypeScript 全家桶代码,是今天微服务与流式通信的事实标准。
当 REST + JSON 遇到微服务规模、低延迟场景与多语言生态的三重挑战
gRPC 是 Google 于 2015 年开源的高性能 RPC 框架,现已成为微服务间通信的事实标准。它基于 HTTP/2 协议传输,使用 Protobuf(Protocol Buffers)作为序列化格式,提供强类型接口契约与多语言代码生成;相比 REST/JSON,它天然解决了文档漂移、手写 DTO、多语言互通与流式通信四个老大难问题。
性能优势非常直观:在 benchmarks.protobuf.dev 的单线程基准上,Protobuf 吞吐约 2.4 GB/s,是标准库 JSON(~280 MB/s)的 约 10 倍,也明显快过 fast-json 家族(~620 MB/s);二进制编码体积比 JSON 小 3–10 倍,HTTP/2 的多路复用与头部压缩进一步削减了握手与帧开销。对延迟敏感的内部服务间调用、大规模流式数据传输、以及需要同时支持 Go/Python/Java/TS 的多语言架构,gRPC 几乎都是默认选项。
10 章 · 从 RPC 原理到 mTLS、gRPC-Web 与服务治理