RPC和HTTP有什么区别?
性能
主要差别在序列化和反序列化
rpc通过thrift二进制传输
http json 序列化更消耗性能 文本传输协议嘛
传输协议
rpc基于tcp协议 也可以基于http rpc本身是个协议,具体实现看厂商
http只能是http
负载
rpc自带负载均衡策略 ribbon等
http需要自己搞,比如nginx反向代理等等
传输效率
rpc可以自定义tcp协议 自定义报文
http有很多请求头,请求报文,请求空行等这些无用的东西
通知
rpc自动通知
http事先通知,自行修改nginx配置或者其他负载均衡的配置
拓展
Http1.0,1.1,2.0有什么区别
- 1.0 短连接 多少次连接就多少次握手和挥手
- 1.1 长连接 1次tcp握手和挥手
- 2.0 长连接 + io多路复用模型(五大模型之一)