rpc和http的区别

Posted open资料酷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rpc和http的区别相关的知识,希望对你有一定的参考价值。

一、区别:

    1、传输协议

        RPC,可基于TCP协议,也可基于HTTP协议

        HTTP,基于HTTP协议


    2、传输效率

        RPC,使⽤用⾃自定义的TCP协议,可以让请求报⽂文体积更更⼩小,或者使⽤用HTTP2协议,也可以很好的减少报⽂文的体积,提⾼高传输效率

        HTTP,如果是基于HTTP1.1的协议,请求中会包含很多⽆无⽤用的内容,如果是基于HTTP2.0,那么简单的封装以下是可以作为⼀一个RPC来使⽤用的,这时标准RPC框架更更多的是服务治理理


    3、性能消耗,主要在于序列列化和反序列列化的耗时

        RPC,可以基于thrift实现⾼高效的⼆二进制传输

        HTTP,⼤大部分是通过json来实现的,字节⼤大⼩小和序列列化耗时都⽐比thrift要更更消耗性能


    4、负载均衡

        RPC,基本都⾃自带了了负载均衡策略略

        HTTP,需要配置nginx,HAProxy来实现


    5、服务治理(下游服务新增,重启,下线时如何不不影响上游调⽤用者)

         是RPC框架一般都有注册中心,有丰富的监控管理;发布、下线接口、动态扩展等,对调用方来说是无感知、统一化的操作。

        RPC,能做到⾃自动通知,不不影响上游 

        HTTP,需要事先通知,修改Nginx/HAProxy配置


二、总结:

       RPC主要⽤用于公司内部的服务调⽤用,性能消耗低,传输效率⾼高,服务治理理⽅方便便。

       HTTP主要⽤用于对外的异构环境,浏览器器接⼝口调⽤用,APP接⼝口调⽤用,第三⽅方接⼝口调⽤用等


以上是关于rpc和http的区别的主要内容,如果未能解决你的问题,请参考以下文章

RPC服务和HTTP服务的区别

RPC 调用和 HTTP 调用的区别?

RPC 和 HTTP 有哪些区别?通信协议网络模型服务治理框架...

RPC 和 HTTP 有哪些区别?通信协议网络模型服务治理框架...

rpc和http的区别

rpc接口和http接口的区别和联系