什么是 RPC

什么是 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