啥是 RPC?和 HTTP 有啥区别?#编程知识百科
合集 · 编程知识百科 (26)
-
颜色网站为啥都收费?自己做个要花多少钱?
10:25
-
我发现很多程序员都不会打日志。。。
10:33
-
数据同步出错了,让老板痛失 1 个亿!
10:21
-
我用12个神技,让网站性能提升1500倍!前端性能优化实战
14:01
-
什么是 Redis?都要学什么?
12:02
-
我用一行代码,干崩同事的服务器!
6:11
-
总有坏人想爬我网站的数据,看我用这 10 招干他!程序员反爬虫经验分享
8:47
-
我用这个技术,干掉了几千行烂代码!
4:57
-
为什么下载小电影时,进度总是卡在99%?
3:29
-
啥是 RPC?和 HTTP 有啥区别?
2:31
-
什么是前后端分离?99%的同学都搞错了!
5:05
-
我们的网站被百度收录了!SEO优化经验分享
8:34
-
Java8 终于要淘汰了!带你速通Java8~24新特性 | 又能跟面试官吹牛皮了
39:55
-
刚刚Java25炸裂发布!让Java再次伟大
11:00
-
让全球网站挂掉一半!Cloudflare到底是什么?
4:55
-
给傻子的数据库教程
16:19
-
网站不小心火了,服务器被冲爆了怎么办?
8:39
-
看了这个视频,你就不用学消息队列了!
12:56
-
从夯到拉,锐评 28 个后端技术!
12:02
-
后端程序员的尊严,从学会 RESTful API 开始!
10:37
-
从夯到拉,锐评 39 个前端技术!
20:20
-
给我疯狂攻击这台 Redis!
7:41
-
你的 IP 归属地,是咋被挖出来的?
6:56
-
除了MySQL,这 9 种数据库你都不认识?
13:53
-
我把公司的数据库打爆了!
8:16
-
什么是 Elasticsearch?都要学什么?傻子可懂,一个视频讲清楚
14:10
Description
2 分钟,用一个小故事帮你搞懂分布式系统服务间通信的核心 —— RPC 远程过程调用,以及 Java 等后端程序员经典面试题《RPC 和 HTTP 协议的区别》。 鱼皮之前手写的完整 RPC 框架已经在 GitHub 开源:https://github.com/liyupi/yu-rpc 这期视频有帮助的话,记得三连支持哦~ 编程学习路线和项目:codefather.cn
Comments
真的太感谢up猪了😭😭😭 我是一个刚转行的程序员,之前一直对RPC这个概念很懵。没想到up用一个小故事就让我整明白了!现在终于知道为什么公司里的老员工总是说"调用远程服务",原来背后是这么个原理。 说真的,这种分享干货的up猪现在真的不多了,不仅讲得清楚,还把源码都给我们了。如果这期视频真的能到5000赞,我真的希望up主能信守承诺,把rpc相关的技术也给讲清楚,感觉跟着学下来,面试底气都能足很多 —— 以后面试官问我 RPC 我就给他讲鱼皮的故事!拜托大家给个三连吧,让更多像我这样的小白也能学到这么好的内容 🙏
♥ 82 ↩ 9
HTTP和RPC视角不同。HTTP相对更底层,RPC则更侧重于怎么用。HTTP规定了传输的数据怎么表示,规定了具体的格式。RPC侧重于像调用本地过程一样,调用远程的过程。 所以可以用HTTP作为RPC的底层实现,这就是Feign和OpenFeign的实现方式,它们底层就用了http/1.1。 但是由于历史局限性HTTP的性能不够好,所以RPC可以考虑不用HTTP来实现,比如定义独特的二进制格式,用二进制来表示数据,再使用http/2传递数据。gRPC就这么干的。 其他的库就不了解了。
♥ 41 ↩ 1
RPC的本质:1.需要双方都的是同类语言(最好) 2.调用的本质,其实就是把你调用的类和方法序列化发送给被调用方(所以需要用到高效的序列化工具) 3.被调用方接到后反序列化这个类然后通过反射调用对应方法(这里就要求类结构、方法、入参、类型等都必须一样) 4.把执行结果返回给调用方 结束。 看完这个流程后,我们会发现 1.最好不要跨语言 ,而http协议互相调用可以跨语言 2.之所以有所谓的高效,只是因为http协议外层裹了一堆东西,比如你只是发了个a数据,也需要一堆Http协议的参数包装,所以数据量比较大,但如果发送的数据很大,http协议本身的参数数据占比变小时,两种调用其实没多大差别,所以你会发现所谓的RPC调用都推荐高并发小数据量的业务来用 3.回答有些学艺不精的人的话,两种调用都需要建立断开连接,RPC高效的地方就在于传输的数据量小,但springcloud全家桶中使用了简易http协议,所以只要不是极限性能,非要用RPC的,优先考虑用springcloud,为啥啊,因为全家桶啊,很多不用自己适配集成
♥ 19 ↩ 3
还是不太懂和直接封个api,然后调api有啥区别。。
♥ 19 ↩ 12
不是很懂,我只知道我VPS上一堆服务都是走websocket/http通信的
♥ 6 ↩ 3
真的太感谢up猪了😭😭😭 我是一个刚转行的程序员,之前一直对RPC这个概念很懵。没想到up用一个小故事就让我整明白了!现在终于知道为什么公司里的老员工总是说"调用远程服务",原来背后是这么个原理。说真的,这种分享干货的up猪现在真的不多了,不仅讲得清楚,还把源码都给我们了。如果这期视频真的能到5000赞,我真的希望up主能信守承诺,把rpc相关的技术也给讲清楚,感觉跟着学下来,面试底气都能足很多 —— 以后面试官问我 RPC 我就给他讲鱼皮的故事!拜托大家给个三连吧,让更多像我这样的小白也能学到这么好的内容 🙏
♥ 5
37秒开始几乎全部动画都错了
♥ 4 ↩ 3
真的太感谢up了😭😭😭 [星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼] 我是一个刚转行的程序员,之前一直对RPC这个概念很懵。没想到up用一个小故事就让我整明白了!现在终于知道为什么公司里的老员工总是说"调用远程服务",原来背后是这么个原理。 说真的,这种分享干货的up猪现在真的不多了,不仅讲得清楚,还把源码都给我们了。如果这期视频真的能到5000赞,我真的希望up主能信守承诺,把rpc相关的技术也给讲清楚,感觉跟着学下来,面试底气都能足很多 —— 以后面试官问我 RPC 我就给他讲鱼皮的故事!拜托大家给个三连吧,让更多像我这样的小白也能学到这么好的内容 🙏
♥ 3
为什么会将http和tcp比较,一个是应用层,一个是传输层
♥ 2 ↩ 1
分布式系统的期末大作业,用RPC协议实现几个replica服务器之间的通信,并使用PAXOS算法实现一致性。写的头都秃了。
♥ 2
[星星眼]
♥ 2
到目前为止都没用过rpc,主要还是http和ws
♥ 2
视频中间的RPC打成RCP了
♥ 2 ↩ 1
不就封装了个API,怎么又创新名词[笑哭][笑哭]
♥ 2 ↩ 1
鲜嫩多汁的鱼皮吗?真的吗,我不行
♥ 1
手写的RPC是有免费教程吗
♥ 1 ↩ 2
怎么感觉和 rmi 有点像?
♥ 1
怎么感觉和mcp那意思好像
♥ 1 ↩ 1
哈哈,看差了“2分钟搞懂RPG”[笑哭]
♥ 1