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

    文章

    511

    浏览量

    31649
  • RPC
    RPC
    +关注

    关注

    0

    文章

    111

    浏览量

    11596
收藏 人收藏

    相关推荐

    云计算和人工智能有什么区别联系

    云计算和人工智能虽然各自具有独特的特点和应用领域,但它们之间存在着紧密的联系和互动。接下来,AI部落小编带您了解云计算和人工智能的区别联系
    的头像 发表于 02-06 10:08 106次阅读

    SMO与SMP的区别联系

    SMO(Social Media Optimization,社交媒体优化)和SMP(Social Media Platform,社交媒体平台)是社交媒体领域中两个重要的概念。它们之间既有区别也有联系
    的头像 发表于 01-03 09:17 383次阅读

    HTTP 1.1 和 HTTP 2.0 的区别

    2015年正式成为互联网标准。以下是HTTP/1.1和HTTP/2之间的一些主要区别: 1. 多路复用(Multiplexing) HTTP/1.1 : 在
    的头像 发表于 12-30 09:25 371次阅读

    HTTP 和 HTTPS 的区别

    在互联网时代,数据传输安全变得越来越重要。HTTP 和 HTTPS 是两种广泛使用的网络协议,它们在数据传输方面扮演着关键角色。尽管它们的名字相似,但它们在安全性和用途上有着显著的区别HTTP
    的头像 发表于 12-30 09:19 358次阅读

    Dubbo源码浅析(一)—RPC框架与Dubbo

    时,就像调用本地过程一样方便。 1.2 RPCHttp的关系 用一句话来总结就是: RPC是一种概念,http是一种协议,可以认
    的头像 发表于 08-16 15:18 873次阅读
    Dubbo源码浅析(一)—<b class='flag-5'>RPC</b>框架与Dubbo

    如何手搓一个自定义的RPC 远程过程调用框架

    1、RPC(远程过程调用概述) 远程过程调用(RPC, Remote Procedure Call)是一种通过网络从远程计算机程序上请求服务,而无需了解网络细节的通信技术。在分布式系统中,RPC
    的头像 发表于 07-22 12:17 966次阅读
    如何手搓一个自定义的<b class='flag-5'>RPC</b> 远程过程调用框架

    柔性机器人与刚性机器人区别联系

    柔性机器人和刚性机器人在结构、功能、应用场景等方面存在显著的区别,但也有一些联系。以下是它们的主要区别联系区别 1.结构材料 柔性机器
    的头像 发表于 07-21 15:37 754次阅读
    柔性机器人与刚性机器人<b class='flag-5'>区别</b>与<b class='flag-5'>联系</b>

    TSMaster RPC 基础入门:编程指导和使用说明

    介绍RPC模块前,我们先浅聊一下RPC的相关说明,以及在什么样的情况下需要了解本文。1.RPC说明远程过程调用(RPC,RemoteProcedureCall)是一种网络通信协议,使得
    的头像 发表于 07-13 08:21 1008次阅读
    TSMaster <b class='flag-5'>RPC</b> 基础入门:编程指导和使用说明

    预训练和迁移学习的区别联系

    预训练和迁移学习是深度学习和机器学习领域中的两个重要概念,它们在提高模型性能、减少训练时间和降低对数据量的需求方面发挥着关键作用。本文将从定义、原理、应用、区别联系等方面详细探讨预训练和迁移学习。
    的头像 发表于 07-11 10:12 1351次阅读

    神经元与神经网络的区别联系

    在人工智能和机器学习的领域中,神经元和神经网络是两个至关重要的概念。虽然它们都与人脑中的神经系统有着密切的联系,但在实际应用和理论研究中,它们各自扮演着不同的角色。本文旨在深入探讨神经元与神经网络之间的区别联系,以及它们在人工
    的头像 发表于 07-01 11:50 1259次阅读

    鸿蒙开发通信与连接:ohos.rpc RPC通信

    本模块提供进程间通信能力,包括设备内的进程间通信(IPC)和设备间的进程间通信(RPC),前者基于Binder驱动,后者基于软总线驱动。
    的头像 发表于 06-21 09:40 647次阅读
    鸿蒙开发通信与连接:ohos.<b class='flag-5'>rpc</b> <b class='flag-5'>RPC</b>通信

    运动控制和过程控制的区别联系

    和过程控制的区别联系。 运动控制 定义: 运动控制是指对机械设备的运动进行精确控制,以实现预定的运动轨迹、速度和加速度。这种控制通常涉及到位置、速度和加速度的精确控制。 关键技术: 伺服电机控制: 使用伺服电机来实
    的头像 发表于 06-13 09:19 3336次阅读

    PLC与DCS的区别联系

    至关重要的控制系统。它们各自具有独特的特点和优势,并在不同的应用场景中发挥着重要作用。本文将对PLC和DCS的区别联系进行详细阐述,以帮助读者更好地理解这两种控制系统的特性和应用。
    的头像 发表于 05-28 16:35 5840次阅读

    fpga和单片机的区别联系 fpga和cpu区别

    fpga和单片机的区别联系 FPGA(现场可编程逻辑门阵列)和单片机在电子系统设计中都扮演着重要的角色,但它们之间存在明显的区别联系区别
    的头像 发表于 03-14 17:33 1288次阅读

    栅格数据与矢量数据的区别联系

    等方面存在一些区别联系。 一、区别 形态上的区别: 栅格数据是由固定大小的像素网格组成,每个像素都具有特定的数值。整个数据集由一个矩阵来表示,每个像素位置都有特定的值。矢量数据则是由
    的头像 发表于 02-25 15:08 1w次阅读