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

    文章

    531

    浏览量

    34834
  • RPC
    RPC
    +关注

    关注

    0

    文章

    113

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

    什么是工作电压?什么是耐电压?两者的区别联系

    在对连接器进行选型时,电压是一个关键考量因素。通常,连接器有工作电压和耐电压两种电压参数,二者存在显著区别。 那工作电压和耐电压是如何定义的呢? 工作电压:指的是设备正常运行过程中,允许持续施加
    的头像 发表于 04-11 16:14 3056次阅读

    HTTP和HTTPS的关键区别

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

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

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

    SMO与SMP的区别联系

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

    总线与以太网的区别联系

    在现代计算机和网络技术中,数据传输是核心功能之一。总线和以太网是实现这一功能的关键技术。尽管它们在某些方面有相似之处,但它们在设计、用途和实现上有着明显的区别。 总线(Bus) 总线是一种内部通信
    的头像 发表于 12-31 09:46 2276次阅读

    如何使用 cURL 测试 HTTP 协议

    cURL是一个强大的命令行工具,用于传输数据,支持多种协议,包括HTTP、HTTPS、FTP等。使用cURL测试HTTP协议可以帮助你理解HTTP请求和响应的工作原理,以及调试和验证你的HTT
    的头像 发表于 12-30 09:26 2077次阅读

    HTTP 1.1 和 HTTP 2.0 的区别

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

    HTTP 协议的工作原理

    HTTP协议的工作原理 1. HTTP协议概述 HTTP是一个应用层协议,它定义了客户端与服务器之间请求和响应的格式。HTTP协议基于TCP/IP模型,通常使用80端口进行通信。
    的头像 发表于 12-30 09:21 1587次阅读

    HTTP 和 HTTPS 的区别

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

    HTTP 协议的基本概念

    HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式、超媒体信息系统的网络协议。HTTP 是互联网上应用最为广泛的协议之一,它定义了客户端(比如
    的头像 发表于 12-29 15:12 2224次阅读

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

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

    HMI与SCADA的区别联系 HMI技术在智能制造中的作用

    HMI与SCADA的区别联系 1. HMI(人机界面) HMI(Human-Machine Interface)即人机界面,是一种允许用户与过程控制或监控系统交互的界面。它通常包括一个或多个显示屏
    的头像 发表于 12-06 10:25 1875次阅读