0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HTTP和RPC的区别与联系

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-11-23 08:55 次阅读

HTTP和RPC的相同点:底层通讯都是基于socket,都可以实现远程调用,都可以实现服务调用服务。

HTTP和RPC的不同点:

RPC:框架有:dubbo、cxf、(RMI远程方法调用)Hessian

当使用RPC框架实现服务间调用的时候,要求服务提供方和服务消费方 都必须使用统一的RPC框架,要么都dubbo,要么都cxf

操作系统在同一编程语言内使用

优势:调用快、处理快

http:框架有:httpClient

当使用http进行服务间调用的时候,无需关注服务提供方使用的编程语言,也无需关注服务消费方使用的编程语言,服务提供方只需要提供restful风格的接口,服务消费方,按照restful的原则,请求服务,即可

跨系统跨编程语言的远程调用框架

优势:通用性强

服务发现

首先要向某个服务器发起请求,你得先建立连接,而建立连接的前提是,你得知道IP地址和端口。这个找到服务对应的IP端口的过程,其实就是服务发现。

在HTTP中,你知道服务的域名,就可以通过DNS服务去解析得到它背后的IP地址,默认80端口。

而RPC的话,就有些区别,一般会有专门的中间服务去保存服务名和IP信息,比如consul或者etcd,甚至是redis。想要访问某个服务,就去这些中间服务去获得IP和端口信息。由于dns也是服务发现的一种,所以也有基于dns去做服务发现的组件,比如CoreDNS。

可以看出服务发现这一块,两者是有些区别,但不太能分高低。

底层连接形式

以主流的HTTP1.1协议为例,其默认在建立底层TCP连接之后会一直保持这个连接(keep alive),之后的请求和响应都会复用这条连接,而RPC协议,也跟HTTP类似,也是通过建立TCP长链接进行数据交互,但不同的地方在于,RPC协议一般还会再建个连接池,在请求量大的时候,建立多条连接放在池内,要发数据的时候就从池里取一条连接出来,用完放回去,下次再复用,可以说非常环保。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    416

    浏览量

    29985
  • RPC
    RPC
    +关注

    关注

    0

    文章

    91

    浏览量

    11348
收藏 人收藏

    评论

    相关推荐

    通过http使用RPC服务的方法

    http使用RPC服务
    发表于 02-16 07:18

    Restful 和 RPC 是什么关系与区别

    RPC的关系与区别,详细分析请看下文。
    的头像 发表于 02-07 15:35 3.8w次阅读
    Restful 和 <b>RPC</b> 是什么关系与<b>区别</b>

    什么是RPC?为什么需要RPC

    RPC可以用HTTP协议实现,并且用HTTP是建立在 TCP 之上最广泛使用的 RPC,但是互联网公司往往用自己的私有协议,比如鹅厂的JCE协议,私有协议不具备通用性为什么还要用呢?因为相比于HTTP协议,RPC采用二进制字节码传输,更加高效也更加安全。
    的头像 发表于 04-16 12:49 1.4w次阅读
    什么是<b>RPC</b>?为什么需要<b>RPC</b>?

    http和tcp/ip、http https之间的关系和区别

    http和tcp/ip、http和https之间的关系和
    的头像 发表于 01-10 14:30 6523次阅读

    详谈数组和指针的区别联系

    区别
    的头像 发表于 06-29 15:18 2.1w次阅读
    详谈数组和指针的<b>区别</b>与<b>联系</b>

    为什么需要RPC接口

    RPC框架肯定是高于简单的HTTP接口的。但毋庸置疑,HTTP接口由于受限于HTTP协议,需要带HTTP请求头,导致传输起来效率或者说安全性不如RPC
    发表于 07-13 17:46 2369次阅读

    通信网络技术:RPC服务和HTTP服务的区别分析

    RPC(即 Remote Procedure Call,远程过程调用)和 HTTP 调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive
    的头像 发表于 11-26 13:52 2341次阅读

    HTTPRPC

    HTTP和各类RPC协议,它们都只是定义了不同消息格式的应用层协议而已。
    的头像 发表于 11-23 08:54 417次阅读
    <b>HTTP</b>和<b>RPC</b>

    有了HTTP,为什么还要RPC

    HTTP是应用层协议,而TCP是传输层协议。好,知道了网络的分层模型以后我们可以更好地理解为什么RPC服务相比HTTP服务要Nice一些!
    的头像 发表于 04-27 14:29 301次阅读
    有了<b>HTTP</b>,为什么还要<b>RPC</b>?

    RPC接口与HTTP接口哪一个更好?

    HTTP接口和RPC接口都是生产上常用的接口,顾名思义,HTTP接口使用基于HTTP协议的URL传参调用,而RPC接口则基于远程过程调用。
    发表于 06-13 09:18 262次阅读
    <b>RPC</b>接口与<b>HTTP</b>接口哪一个更好?

    基于Client/Server架构的HTTP接口和RPC接口

    HTTP接口和RPC接口都是生产上常用的接口,顾名思义,HTTP接口使用基于HTTP协议的URL传参调用,而RPC接口则基于远程过程调用。
    发表于 06-13 09:18 217次阅读
    基于Client/Server架构的<b>HTTP</b>接口和<b>RPC</b>接口

    RPC接口和HTTP接口的区别联系

    HTTP服务 RPC接口和HTTP接口的区别联系 参考文献   HTTP接口和RPC接口都是生产上常用的接口,顾名思义,HTTP接口使用基于HTTP协议的URL传参调用,而RPC接口则
    的头像 发表于 06-17 14:54 517次阅读
    <b>RPC</b>接口和<b>HTTP</b>接口的<b>区别</b>与<b>联系</b>

    什么是HTTP协议?什么是RPC协议?二者如何选择使用?

    HTTP,还需要RPC协议呢?在进行说明之前,首先我们需要了解什么是HTTP协议,什么是RPC协议。
    的头像 发表于 08-11 09:25 341次阅读
    什么是<b>HTTP</b>协议?什么是<b>RPC</b>协议?二者如何选择使用?

    FPGA和ASIC的区别联系

    联系区别备受关注。本文将从FPGA和ASIC的基本概念入手,深入研究它们的区别联系,以帮助读者更好地理解两者的应用场景和选择方法。
    发表于 08-14 16:38 506次阅读

    为什么有了HTTP,还需要RPC协议?

    HTTP,还需要RPC协议呢?在进行说明之前,首先我们需要了解什么是HTTP协议,什么是RPC协议。什么是HTTP协议?HTTP是一种广泛使用的网络传输协议,它定义了客户端(如浏览器
    的头像 发表于 08-14 10:05 357次阅读
    为什么有了<b>HTTP</b>,还需要<b>RPC</b>协议?