啥是 RPC?和 HTTP 有啥区别?#编程知识百科

合集 · 编程知识百科 (26)

  1. 10:25
    颜色网站为啥都收费?自己做个要花多少钱?
  2. 10:33
    我发现很多程序员都不会打日志。。。
  3. 10:21
    数据同步出错了,让老板痛失 1 个亿!
  4. 14:01
    我用12个神技,让网站性能提升1500倍!前端性能优化实战
  5. 12:02
    什么是 Redis?都要学什么?
  6. 6:11
    我用一行代码,干崩同事的服务器!
  7. 8:47
    总有坏人想爬我网站的数据,看我用这 10 招干他!程序员反爬虫经验分享
  8. 4:57
    我用这个技术,干掉了几千行烂代码!
  9. 3:29
    为什么下载小电影时,进度总是卡在99%?
  10. 2:31
    啥是 RPC?和 HTTP 有啥区别?
  11. 5:05
    什么是前后端分离?99%的同学都搞错了!
  12. 8:34
    我们的网站被百度收录了!SEO优化经验分享
  13. 39:55
    Java8 终于要淘汰了!带你速通Java8~24新特性 | 又能跟面试官吹牛皮了
  14. 11:00
    刚刚Java25炸裂发布!让Java再次伟大
  15. 4:55
    让全球网站挂掉一半!Cloudflare到底是什么?
  16. 16:19
    给傻子的数据库教程
  17. 8:39
    网站不小心火了,服务器被冲爆了怎么办?
  18. 12:56
    看了这个视频,你就不用学消息队列了!
  19. 12:02
    从夯到拉,锐评 28 个后端技术!
  20. 10:37
    后端程序员的尊严,从学会 RESTful API 开始!
  21. 20:20
    从夯到拉,锐评 39 个前端技术!
  22. 7:41
    给我疯狂攻击这台 Redis!
  23. 6:56
    你的 IP 归属地,是咋被挖出来的?
  24. 13:53
    除了MySQL,这 9 种数据库你都不认识?
  25. 8:16
    我把公司的数据库打爆了!
  26. 14:10
    什么是 Elasticsearch?都要学什么?傻子可懂,一个视频讲清楚
Description
2 分钟,用一个小故事帮你搞懂分布式系统服务间通信的核心 —— RPC 远程过程调用,以及 Java 等后端程序员经典面试题《RPC 和 HTTP 协议的区别》。
鱼皮之前手写的完整 RPC 框架已经在 GitHub 开源:https://github.com/liyupi/yu-rpc
这期视频有帮助的话,记得三连支持哦~

编程学习路线和项目:codefather.cn

Comments

程序员鱼皮 2025-09-02

真的太感谢up猪了😭😭😭 我是一个刚转行的程序员,之前一直对RPC这个概念很懵。没想到up用一个小故事就让我整明白了!现在终于知道为什么公司里的老员工总是说"调用远程服务",原来背后是这么个原理。 说真的,这种分享干货的up猪现在真的不多了,不仅讲得清楚,还把源码都给我们了。如果这期视频真的能到5000赞,我真的希望up主能信守承诺,把rpc相关的技术也给讲清楚,感觉跟着学下来,面试底气都能足很多 —— 以后面试官问我 RPC 我就给他讲鱼皮的故事!拜托大家给个三连吧,让更多像我这样的小白也能学到这么好的内容 🙏

♥ 82 ↩ 9

唐龙3bf 2025-09-04

HTTP和RPC视角不同。HTTP相对更底层,RPC则更侧重于怎么用。HTTP规定了传输的数据怎么表示,规定了具体的格式。RPC侧重于像调用本地过程一样,调用远程的过程。 所以可以用HTTP作为RPC的底层实现,这就是Feign和OpenFeign的实现方式,它们底层就用了http/1.1。 但是由于历史局限性HTTP的性能不够好,所以RPC可以考虑不用HTTP来实现,比如定义独特的二进制格式,用二进制来表示数据,再使用http/2传递数据。gRPC就这么干的。 其他的库就不了解了。

♥ 41 ↩ 1

哎呦有贼 2025-09-25

RPC的本质:1.需要双方都的是同类语言(最好) 2.调用的本质,其实就是把你调用的类和方法序列化发送给被调用方(所以需要用到高效的序列化工具) 3.被调用方接到后反序列化这个类然后通过反射调用对应方法(这里就要求类结构、方法、入参、类型等都必须一样) 4.把执行结果返回给调用方  结束。  看完这个流程后,我们会发现 1.最好不要跨语言 ,而http协议互相调用可以跨语言 2.之所以有所谓的高效,只是因为http协议外层裹了一堆东西,比如你只是发了个a数据,也需要一堆Http协议的参数包装,所以数据量比较大,但如果发送的数据很大,http协议本身的参数数据占比变小时,两种调用其实没多大差别,所以你会发现所谓的RPC调用都推荐高并发小数据量的业务来用 3.回答有些学艺不精的人的话,两种调用都需要建立断开连接,RPC高效的地方就在于传输的数据量小,但springcloud全家桶中使用了简易http协议,所以只要不是极限性能,非要用RPC的,优先考虑用springcloud,为啥啊,因为全家桶啊,很多不用自己适配集成

♥ 19 ↩ 3

我永远爱天野陽菜 2025-09-02

还是不太懂和直接封个api,然后调api有啥区别。。

♥ 19 ↩ 12

只の松饼Nya 2025-09-02

不是很懂,我只知道我VPS上一堆服务都是走websocket/http通信的

♥ 6 ↩ 3

闵护用 2025-09-02

真的太感谢up猪了😭😭😭 我是一个刚转行的程序员,之前一直对RPC这个概念很懵。没想到up用一个小故事就让我整明白了!现在终于知道为什么公司里的老员工总是说"调用远程服务",原来背后是这么个原理。说真的,这种分享干货的up猪现在真的不多了,不仅讲得清楚,还把源码都给我们了。如果这期视频真的能到5000赞,我真的希望up主能信守承诺,把rpc相关的技术也给讲清楚,感觉跟着学下来,面试底气都能足很多 —— 以后面试官问我 RPC 我就给他讲鱼皮的故事!拜托大家给个三连吧,让更多像我这样的小白也能学到这么好的内容 🙏

♥ 5

只の松饼Nya 2025-09-02

37秒开始几乎全部动画都错了

♥ 4 ↩ 3

沉默-不再沉默 2025-12-22

真的太感谢up了😭😭😭 [星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼][星星眼] 我是一个刚转行的程序员,之前一直对RPC这个概念很懵。没想到up用一个小故事就让我整明白了!现在终于知道为什么公司里的老员工总是说"调用远程服务",原来背后是这么个原理。 说真的,这种分享干货的up猪现在真的不多了,不仅讲得清楚,还把源码都给我们了。如果这期视频真的能到5000赞,我真的希望up主能信守承诺,把rpc相关的技术也给讲清楚,感觉跟着学下来,面试底气都能足很多 —— 以后面试官问我 RPC 我就给他讲鱼皮的故事!拜托大家给个三连吧,让更多像我这样的小白也能学到这么好的内容 🙏

♥ 3

像素小子 2025-12-04

为什么会将http和tcp比较,一个是应用层,一个是传输层

♥ 2 ↩ 1

南瓜马车的_午夜 2025-09-26

分布式系统的期末大作业,用RPC协议实现几个replica服务器之间的通信,并使用PAXOS算法实现一致性。写的头都秃了。

♥ 2

rainfishs 2025-09-03

[星星眼]

♥ 2

海瑞云游戏 2025-09-02

到目前为止都没用过rpc,主要还是http和ws

♥ 2

自信的R 2025-09-02

视频中间的RPC打成RCP了

♥ 2 ↩ 1

麻烦叫我滚回去学习QAQ 2025-09-15

不就封装了个API,怎么又创新名词[笑哭][笑哭]

♥ 2 ↩ 1

I老亚瑟了 2025-09-04

鲜嫩多汁的鱼皮吗?真的吗,我不行

♥ 1

名将杀炎帝 2025-09-02

手写的RPC是有免费教程吗

♥ 1 ↩ 2

野猴子在舞蹈 2025-09-07

怎么感觉和 rmi 有点像?

♥ 1

E_t 2025-09-04

怎么感觉和mcp那意思好像

♥ 1 ↩ 1

尊贵的六级号 2025-09-04

哈哈,看差了“2分钟搞懂RPG”[笑哭]

♥ 1