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

    文章

    538

    浏览量

    35567
  • RPC
    RPC
    +关注

    关注

    0

    文章

    114

    浏览量

    12298
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FRED应用:RPC Photonics 扩散片BSDF导入模拟

    的BSDF数据转为FRED可识别的散射数据。 图1. RPC Photonics工程漫射体结构及光束投射形状 步骤 1、在http://www.rpcphotonics.com
    发表于 04-30 08:16

    EtherCAT应用示例,GOAL 应用说明

    projects/goal_ecat_lib - 1h 演示库项目 projects/goal_ecat_rpc - 多核项目 projects/goal_ecat_rpc_lib - 多核项目的 1h 演示
    发表于 04-23 08:19

    码神之路Netty-从零实现RPC框架课分享

    面向未来的分布式基石:Netty 从零实现 RPC 框架全体系实战 在微服务架构与云原生技术大行其道的今天,分布式系统已成为互联网应用的标准形态。而在这些庞大系统的底层,隐藏着一个至关重要的通信引擎
    的头像 发表于 02-13 11:38 166次阅读

    工业领域为什么会用到HTTP协议

    工业领域使用HTTP协议主要源于其 通用性、易用性、扩展性 以及与现代工业系统集成需求的契合,尽管工业环境对实时性、可靠性的要求较高,但HTTP在特定场景下仍能发挥关键作用。以下是具体原因分析
    的头像 发表于 12-27 09:38 277次阅读

    HTTP物联网网关是什么?有什么功能?

    HTTP物联网网关是连接物联网设备与云端平台的核心设备,它以HTTP协议为基础,实现设备与云端之间的数据交互,并具备协议转换、数据预处理、安全管理和设备管理等功能 。以下是详细介绍: 一、核心定义
    的头像 发表于 12-24 11:33 548次阅读
    <b class='flag-5'>HTTP</b>物联网网关是什么?有什么功能?

    C语言与C++的区别联系

    是面向过程语言,而C++是面向对象语言。说C和C++的区别,也就是在比较面向过程和面向对象的区别。 1、面向过程和面向对象的区别 面向过程:面向过程编程就是分析出解决问题的步骤,然后把这些步骤一步
    发表于 12-24 07:23

    HTTP通信网关是什么?有什么功能?

    HTTP通信网关是连接不同网络或协议的关键设备/服务器,在HTTP通信中扮演着协议转换、安全加固、性能优化等核心角色,其本质是 实现不同协议或网络间的数据转发与处理 。以下是其核心功能与工作机制
    的头像 发表于 12-23 11:14 652次阅读

    使用HTTP实现IAP的方法

    使用 HTTP 协议进行固件升级没有使用 TFTP 常见,但是在需要通过 Internet 进行远程编程时,这种解决方案就显得极为有用。这时,需要使用 TCP 传输协议来实现 http 服务
    发表于 12-16 06:18

    电压、电位、电势和电平的区别与关系

    在电学领域中,电压、电位、电势和电平是几个密切相关的概念,它们既有区别又有联系。理解这些概念的本质及其相互关系,对于掌握电路分析和电子技术至关重要。下面将从定义、计算方法和实际应用等方面,详细阐述
    的头像 发表于 11-24 07:37 1456次阅读
    电压、电位、电势和电平的<b class='flag-5'>区别</b>与关系

    IoT模组与IoT网关有什么区别联系

    IoT模组与IoT网关是物联网架构中两个关键组件,二者在功能定位、应用场景和技术特性上存在显著差异,但同时又通过数据交互形成互补,共同支撑物联网系统的运行。以下是具体分析: 一、核心区别 维度
    的头像 发表于 10-24 15:24 976次阅读

    数字化与信息化有什么区别联系

    数字化与信息化是紧密相关但又有区别的两个概念,它们在推动社会和经济发展中扮演着不同角色。以下从定义、核心目标、技术基础、应用范围、实施路径及相互联系六个方面进行详细分析: 一、定义差异 数字化
    的头像 发表于 10-11 16:48 1860次阅读
    数字化与信息化有什么<b class='flag-5'>区别</b>和<b class='flag-5'>联系</b>

    知识分享 | 功能安全vsSOTIF:区别联系

    )在确保出行安全方面发挥着至关重要的作用。那么,功能安全和SOTIF之间有什么区别?它们在哪些特性上又存在联系
    的头像 发表于 08-06 13:53 1831次阅读
    知识分享 | 功能安全vsSOTIF:<b class='flag-5'>区别</b>与<b class='flag-5'>联系</b>

    如何区别断路器壳架电流、额定电流和整定电流

    最近大家讨论比较多的话题是如何区别断路器壳架电流、额定电流和整定电流,以及三者之间有何联系
    的头像 发表于 06-30 09:58 4957次阅读
    如何<b class='flag-5'>区别</b>断路器壳架电流、额定电流和整定电流

    HTTP协议在工业领域会用到吗

    HTTP协议在工业领域会用到,并且在工业互联网、设备管理、数据交互等多个方面发挥着重要作用,以下为你详细介绍: 工业互联网场景 设备接入与管理 原理:在工业互联网平台中,各类工业设备(如传感器
    的头像 发表于 06-03 09:17 794次阅读

    基于RK3576开发板的http/https通讯

    主要区别在于HTTPS需要CA证书、使用加密传输,且端口号通常为443,而HTTP为80。HTTP/HTTPS通讯中,客户端发送请求报文,服务器返回响应报文,请求方法常见有GET和POST。URL(统一
    的头像 发表于 05-10 11:24 2022次阅读
    基于RK3576开发板的<b class='flag-5'>http</b>/https通讯