rpc调用和http调用有什么区别
1.本质区别
http是协议,rpc是方法,rpc的实现可能也会用到httphttp在应用层,rpc在传输层(长连接,少了三次握手,不过http2.0也可以链接复用了)http中所使用的报文中有效字节数仅仅占约 30%,也就是70%的时间用于传输元数据废编码。当然实际情况下报文内容可能会比这个长,但是报头所占的比例也是非常可观的。而rpc仅通过序列化发送有效数据,省去了很多无效的数据,提高传输效率。http需要可读性强,包括输入、输出,解析等。rpc就像调用方法一样调用,很简单。
2.其他区别
rpc一般都是和服务相关的简单来说成熟的rpc库相对http容器,更多的是封装了“服务发现”,"负载均衡",“熔断降级”一类面向服务的高级特性。可以这么理解,rpc框架是面向服务的更高级的封装。如果把一个http servlet容器上封装一层服务发现和函数代理调用,那它就已经可以做一个rpc框架了。
所以为什么要用rpc调用?
因为良好的rpc调用是面向服务的封装,针对服务的可用性和效率等都做了优化。单纯使用http调用则缺少了这些特性。
分布式系统以及在一个大系统内服务较多的情况下,服务间的调用当然是越简单越好,而rpc的调用仅涉及到传输协议+序列化协议,而不用考虑一些类似接口可读性等。可以更方便的调用。
rpc调用和http调用有什么区别相关推荐
- 直观讲解一下 RPC 调用和 HTTP 调用的区别!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:浮生忆梦 blog.csdn.net/m0_3811 ...
- 直观讲解一下RPC调用和HTTP调用的区别
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:浮生忆梦 blog.csdn.net/m0_38110132 ...
- 把接口调用打成jar包的类怎么写_直观讲解RPC调用和HTTP调用的区别
来源 :浮生忆梦 很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~N ...
- RPC调用和HTTP调用的区别你知道吗
前言 很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive! ...
- 详解RPC远程调用和消息队列MQ的区别
谈到分布式架构,就不得不谈到分布式架构的基石RPC. 什么是RPC RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制. RPC服 ...
- 调用http_【学习充电】直观讲解一下 RPC 调用和 HTTP 调用的区别!
很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...
- java队列_RPC远程调用和消息队列MQ的区别
RPC和MQ同样都是用于分布式系统的两个很重要的技术,都有服务提供者.消费者的概念,可在一定程度上对系统进行解耦.但两者之间还是有区别的,本篇简单介绍~ 一.RPC RPC(Remote Proced ...
- 同步调用和异步调用两者之间的区别
前言 提到同步调用和异步调用两者的区别,首先笔者是从微服务间通讯方式角度出发来阐述这两者的区别. 同步通讯 调用方需要等待执行方的调用结果.(就像打电话一样,需要实时响应) 典型就是:Dubbo的 ...
- oracle创建函数和调用存储过程和调用函数的例子(区别)
创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...
- android app通过Geth RPC接口实现远程调用
记录一下APP怎么通过以太坊的RPC接口实现远程调用.此过程的环境为Window7和Android studio2.2.3.以web3_clientVersion为例.更多用法参考Geth JSON- ...
最新文章
- linux搭建--ubuntu使用qemu-kvm,libvirt搭建虚拟机,并搭建libvmi来虚拟机自省(三)
- python文本编辑pycharm_PyCharm的基本使用
- Android跑马灯
- 关系代数的自然连接符号_初中数学知识清单之代数式的认识
- 一个web版的计算器
- 设计模式2—结构型模式
- CSC 121, 122.. MAT 181, 182, 252, 271, 281, 474.. ECN 272, 273, 372, 472
- [BZOJ5329][Sdoi2018]战略游戏 圆方树+虚树
- 安卓ListView行详细内容展示页编写和下拉刷新实现
- 支持全球科研抗疫,艾柏森成功研发Omicron变异株重组蛋白
- 学编程一定要数学很好吗?看到网友这样说,我松了一口气 ...
- 读《蔡康永的说话之道》
- Cannot get property '......' on extra properties extension as it does not exist
- android 跳过检查,绕过安卓应用检测项
- SQL求几几何平均数
- Sublime 设置快捷键让html在浏览器中打开
- 计算机硬件最小储存单位,构成储存器的最小单位是什么
- Docker 安装 Mysql , Redis,ElasticSearch,Kibana,RabbitMQ,Zipkin,Nacos,Minio Docker服务器环境搭建
- VSCode的prettier插件怎么格式化html文件才好
- css的浮动与清除理解
热门文章
- 语音转写(讯飞开放平台)工具类
- java自己写一个消息队列_Java语言快速实现简单MQ消息队列服务
- 函数对称性常见公式_初中函数公式大全
- 易语言MYQQ框架群管机器人如何获取用户信息
- termux如何下载metasploit(msf)
- 永磁同步电机矢量控制(六)——MTPA最大转矩电流比控制
- 博途PLC 1200/1500PID PID_Temp 加热制冷双输出+级联控制(串级控制)
- 如何将手机号码批量导入手机通讯录
- linux 安装核显驱动程序,在Ubuntu系统上安装英特尔核显驱动安装器的方法
- mysql字典_mysql常用字典表(完整版)