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

    文章

    467

    浏览量

    30316
  • RPC
    RPC
    +关注

    关注

    0

    文章

    102

    浏览量

    11423
收藏 人收藏

    评论

    相关推荐

    电感和电抗的区别联系

    电感和电抗的区别联系 电感和电抗是电学中的重要概念,它们在理论研究和实际应用中都有着重要的作用。本文将从定义、原理、特点和应用等方面详细介绍电感和电抗的区别联系。 一、电感的定义和
    的头像 发表于 01-03 17:26 1559次阅读

    HTTP 中GET 和 POST 的区别

    一、概述 HTTP 的请求报文 GET 方法的特点 POST 方法的特点 GET 和 POST 的区别 二、HTTP 的请求报文 首先我们要解决的第一个问题是:GET 和 POST 是什么? GET
    的头像 发表于 11-11 14:40 604次阅读
    <b class='flag-5'>HTTP</b> 中GET 和 POST 的<b class='flag-5'>区别</b>

    http和https的区别

    行包括:协议及版本、状态码、状态码解释 1.2 http和https的区别 http:由于http是明文传输,所以其安全性低,易受攻击,无法确认对方的身份,也无法确保数据的完整性;
    的头像 发表于 11-10 16:42 539次阅读
    <b class='flag-5'>http</b>和https的<b class='flag-5'>区别</b>

    RPC 和 REST 区别是什么

    01. 既 REST ,何 RPC ? 在 OpenStack 里的进程间通信方式主要有两种,一种是基于HTTP协议的RESTFul API方式,另一种则是RPC调用。 那么这两种方式在应用场景上有
    的头像 发表于 11-02 10:40 1988次阅读
    <b class='flag-5'>RPC</b> 和 REST <b class='flag-5'>区别</b>是什么

    如何用Java实现简单的HTTP服务器

    关于SpringCloud远程调用采用HTTP而非RPC
    的头像 发表于 09-21 15:08 942次阅读
    如何用Java实现简单的<b class='flag-5'>HTTP</b>服务器

    fft和dft的区别联系

    fft和dft的区别联系 快速傅里叶变换(FFT)和离散傅里叶变换(DFT)是信号处理和数学计算领域中最常见的技术之一。它们都是用于将离散信号从时域转换到频域的方法,而在此转换过程中,它们都利用
    的头像 发表于 09-07 16:43 3960次阅读

    傅氏变换和傅里叶变换的区别联系

    傅氏变换和傅里叶变换的区别联系 傅氏变换和傅里叶变换是信号处理中常用的两种变换方法,它们有着不同的作用和特点。傅氏变换主要应用于连续时间信号的频域分析,而傅里叶变换则主要用于离散时间信号的频域分析
    的头像 发表于 09-07 16:35 1013次阅读

    FPGA和ASIC的区别联系

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

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

    为什么有了HTTP,还需要RPC协议呢?在进行说明之前,首先我们需要了解什么是HTTP协议,什么是RPC协议。什么是HTTP协议?
    的头像 发表于 08-14 10:05 665次阅读
    为什么有了<b class='flag-5'>HTTP</b>,还需要<b class='flag-5'>RPC</b>协议?

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

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

    HTTP中GET与POST的区别是什么?

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。
    发表于 08-05 12:21 367次阅读

    SMT贴片加工中焊锡膏、锡膏、助焊膏的区别联系

    一站式PCBA智造厂家今天为大家讲讲SMT贴片加工中焊锡膏、锡膏、助焊膏有什么区别联系。在SMT贴片加工过程中,我们会经常接触三种膏剂,分别是锡膏、焊锡膏和助焊膏。三种膏剂从名字上听都差不多,但是
    的头像 发表于 08-04 09:39 764次阅读

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

      HTTP服务 RPC接口和HTTP接口的区别联系 参考文献   HTTP接口和
    的头像 发表于 06-17 14:54 1104次阅读
    <b class='flag-5'>RPC</b>接口和<b class='flag-5'>HTTP</b>接口的<b class='flag-5'>区别</b>与<b class='flag-5'>联系</b>

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

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

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

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