什么是 RPC
RPC 和 HTTP 对比
协议
RPC :可以基于 TCP 协议也可以基于 HTTP协议
HTTP :基于 HTTP 协议
效率
RPC:自定义报文,可以减少很多无用报文内容,使报文内容精简
HTTP:对于 1.1 很多内容无用。2.0以后精简报文和 RPC 相差不大,比 RPC 少的可能就是一些服务治理等功能
连接方式
RPC:长连接支持
HTTP:每次链接都是 3 次握手 4 次挥手 (2.0 以后也支持长连接了)
性能
RPC 可以基于很多序列化方式(字节流形式)
HTTP 主要通过 JSON(纯文本),序列化和反序列化效率低些
注册中心
RPC:一般 RPC 带有注册中心(在注册中心内查找服务),方便集中化管理
HTTP:一般都是直连
负载均衡
RPC:绝大多数 RPC 框架都带有负载均衡服务
HTTP:一般需要借助第三方工具比如 nginx
