花了一个星期,我终于把RPC框架整明白了( 六 )

复杂度:

  • RPC 实现复杂,流程繁琐 。
  • REST 调用及测试都很方便 。
RPC 实现(参见第一节)需要实现编码,序列化,网络传输等 。而 RESTful 不要关注这些,RESTful 实现更简单 。
灵活性:
  • HTTP 相对更规范,更标准,更通用,无论哪种语言都支持 HTTP 协议 。
  • RPC 可以实现跨语言调用,但整体灵活性不如 RESTful 。
总结
RPC 主要用于公司内部的服务调用,性能消耗低,传输效率高,实现复杂 。
HTTP 主要用于对外的异构环境,浏览器接口调用,App 接口调用,第三方接口调用等 。
RPC 使用场景(大型的网站,内部子系统较多、接口非常多的情况下适合使用 RPC):
  • 长链接 。不必每次通信都要像 HTTP 一样去 3 次握手,减少了网络开销 。
  • 注册发布机制 。RPC 框架一般都有注册中心,有丰富的监控管理;发布、下线接口、动态扩展等,对调用方来说是无感知、统一化的操作 。
  • 安全性,没有暴露资源操作 。
  • 微服务支持 。就是最近流行的服务化架构、服务化治理,RPC 框架是一个强力的支撑 。

【花了一个星期,我终于把RPC框架整明白了】


推荐阅读