RPC 与 REST 对比

RPC 关注调用动作与参数(gRPC、Thrift、JSON-RPC),REST 关注资源表述;内网服务间调用偏 RPC,对外开放集成偏 REST,选择取决于耦合与工具链。

维度

维度RPCREST
抽象方法与消息资源与表述
工具链代码生成、强类型通用 HTTP 工具
耦合接口与版本绑定较紧演进相对独立
适配场景内网高频调用开放集成与缓存
两者不是路线之争:按调用方性质分层选择,并在边界处做好文档与契约治理。

易错点

  • 对外开放 API 使用私有 RPC 协议,第三方接入成本高
  • 接口按动词堆叠,缺乏资源语义导致权限与缓存难做

数据来源与参考

  • Google API 设计指南:gRPC 与 REST 映射
  • 《Microservices Patterns》(Richardson)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌