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

    文章

    526

    浏览量

    33663
  • RPC
    RPC
    +关注

    关注

    0

    文章

    111

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HTTP和HTTPS的关键区别

    HTTP(HyperText Transfer Protocol) 是一种无状态的通信协议,通常用于在客户端(例如浏览器)和服务器之间传输超文本(如 HTML 页面)。但这仅仅是一个单向通信协议
    的头像 发表于 03-25 15:34 ?856次阅读
    <b class='flag-5'>HTTP</b>和HTTPS的关键<b class='flag-5'>区别</b>

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

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

    SMO与SMP的区别联系

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

    HTTP 1.1 和 HTTP 2.0 的区别

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

    HTTP 和 HTTPS 的区别

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

    HTTP缓存头的使用 本地缓存与远程缓存的区别

    HTTP缓存头是一组HTTP响应头,它们控制浏览器和中间代理服务器如何缓存网页内容。合理使用HTTP缓存头可以显著提高网站的加载速度和性能,减少服务器的负载。 1. HTTP缓存头概述
    的头像 发表于 12-18 09:41 ?502次阅读

    云服务器与容器的区别联系

    、轻量级应用如Web应用和API服务。尽管两者有区别,但它们可以互补,容器技术可以在云服务器上运行以提高灵活性和效率,同时云服务器为容器提供稳定运行环境。以下是UU云小编对云服务器与容器的区别联系详细介绍。
    的头像 发表于 12-02 11:41 ?430次阅读

    晶圆/晶粒/芯片之间的区别联系

    本文主要介绍??????晶圆 (wafer)/晶粒 (die)/芯片 (chip)之间的区别联系。 ? 晶圆(Wafer)——原材料和生产平台?? 晶圆是半导体制造的基础材料,通常由高纯度的硅
    的头像 发表于 11-26 11:37 ?1919次阅读

    RPC的基本原理和主要特点

    RPC(Remote Procedure Call,远程过程调用)机制是一种常用的通信机制。实际上就是要像调用本地的函数一样去调远程函数。
    的头像 发表于 11-05 09:12 ?2339次阅读
    <b class='flag-5'>RPC</b>的基本原理和主要特点

    socket与WebSocket的区别联系

    在现代网络通信中,Socket和WebSocket是两种常见的通信协议。它们在网络编程中扮演着重要的角色,但它们之间存在一些关键的区别联系。 1. 定义和基本概念 Socket(套接字
    的头像 发表于 11-04 09:19 ?1307次阅读

    云服务器的购买资源和扩容资源的区别联系

    云服务器的购买资源和扩容资源的区别联系主要体现在操作流程、成本控制以及数据管理等方面。购买资源适合初始部署或大规模扩展,而扩容资源更适合对现有系统进行微调和优化。云服务器的购买资源是指用户在云
    的头像 发表于 10-18 11:21 ?551次阅读

    冗余电源和双电源的区别联系

    冗余电源和双电源在电力系统中都扮演着重要的角色,但它们之间存在一些关键的区别联系区别 定义与结构 冗余电源 :指在系统设计中增加一定数量的备用电源,当主电源出现故障时,能够自动切换到备用
    的头像 发表于 09-18 10:45 ?2573次阅读

    开关量和模拟量的区别联系

    开关量和模拟量是电气工程和自动化控制领域中常见的两种信号类型。它们在信号形式、处理方式和应用场景等方面存在明显的区别,同时也存在一定的联系。 一、开关量的定义和特点 定义 开关量是一种只有两种状态
    的头像 发表于 08-30 10:53 ?3615次阅读

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

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

    socket和http区别是什么

    Socket和HTTP是两种不同的网络通信协议,它们在网络编程中扮演着重要的角色。 定义 Socket(套接字)是一种通信端点,它提供了一个抽象层,使得进程能够通过网络进行通信。Socket
    的头像 发表于 08-16 11:04 ?1628次阅读