gRPC
你可能会说
微服务之间还在发 JSON over HTTP 吗?
基于 HTTP/2 和 Protobuf 的高性能 RPC接口用 .proto 定义、二进制传输、支持流式;跨语言强类型,但浏览器直连要代理,调试不如 JSON 直观。
也常被叫作Protobuf RPC
什么时候选它
- 内部微服务、跨语言调用
- 需要流式推送或大文件传输
- 对延迟和带宽敏感的服务间通信
什么时候别选
- 对外公开 API(REST / GraphQL 更易用)
- 浏览器直连(需要 grpc-web 和代理)
- 小团队快速联调,JSON 更省事
容易混在一起 · 怎么分
gRPC≠REST
gRPC 强类型契约、二进制、流式;REST 通用、可读、浏览器与网关支持最好。
Q面试会问什么
- 问:为什么比 REST 快?
答:HTTP/2 多路复用避免队头阻塞,Protobuf 体积小、序列化快。 - 问:四种调用方式?
答:一元、服务端流、客户端流、双向流;按业务是否需要持续推送选。
延伸阅读 · 权威出处