选型

gRPC

你可能会说

微服务之间还在发 JSON over HTTP 吗?

基于 HTTP/2 和 Protobuf 的高性能 RPC接口用 .proto 定义、二进制传输、支持流式;跨语言强类型,但浏览器直连要代理,调试不如 JSON 直观。
也常被叫作Protobuf RPC
先问一句服务间调用要强类型?
默认gRPC→擅长二进制 + 流式→别用浏览器直连
成熟度采用

什么时候选它

  • 内部微服务、跨语言调用
  • 需要流式推送或大文件传输
  • 对延迟和带宽敏感的服务间通信

什么时候别选

  • 对外公开 API(REST / GraphQL 更易用)
  • 浏览器直连(需要 grpc-web 和代理)
  • 小团队快速联调,JSON 更省事
容易混在一起 · 怎么分
gRPC≠REST

gRPC 强类型契约、二进制、流式;REST 通用、可读、浏览器与网关支持最好。

Q面试会问什么

  • 问:为什么比 REST 快?
    答:HTTP/2 多路复用避免队头阻塞,Protobuf 体积小、序列化快。
  • 问:四种调用方式?
    答:一元、服务端流、客户端流、双向流;按业务是否需要持续推送选。
延伸阅读 · 权威出处