当前位置: 首页 > news >正文

既然有HTTP协议,为什么还要有RPC?

既然有HTTP协议,为什么还要有RPC?

既然有HTTP协议,为什么还要有RPC?

有点既生瑜何生亮的味道。

第一次接触RPC我就很懵,平时我HTTP协议用得好好的,为什么还需要RPC协议?

于是我去百度,网上的资料,不少解释显得非常的“官方”,读起来有种“英式中文”的赶脚。

明明解释了又好像没解释,都在用一个新的概念去解释另外一个新概念,概念套概念,像俄罗斯套娃,懂的人不需要看,不懂的人看了还是云里雾里,
说实话很难受。(在此建议大家多用谷歌)

后来花了不少时间才终于查清楚rpc来龙去脉。

既然有HTTP协议,为什么还要有RPC?这其实是一个伪命题。

"家喻户晓"的tcp/ip协议(族)是上世纪70年代提出来的协议(真有这么老吗?有!)。

而伟大并且肥胖的http协议,是上个世纪90年代随着web的流行才开始流行的。那会儿还是静态网页,就看看,没有什么交互。

至于rpc协议是在上世纪80年代出现的,出生的比http早10年,http得叫rpc一声大哥!还敢问既生瑜,何生亮?

rpc协议有很多,目前流行有grpc,thrift, dubbo, rpcx,可以说百花齐放。

花多了,挑起来就眼花缭乱,逼死选择困难症的小朋友。上世纪80年代也是这样。大厂们都有自己的rpc,就像是名片一样。

平时碰头打招呼也是"Hi~,我是xxxx,我为自己的rpc代言"。这样”混乱“”动荡“的年代,持续了整整10年。随着网页的流行,

终于有哥们从万花丛中脱颖而出,想要维我独尊、千秋万载、一统江湖,于是就有了http协议(pi xie jian pu)。

http的性格比较温和,比较“老实”,不喜欢搞怪,不喜欢搞破坏,不喜欢搞破坏。

说了这么多,rpc与http有什么区别的。

期初没什么区别,都是同一条母龙生的。

后来长着长着,就发现http浓眉大眼,特别的俊秀,深受姑娘们(各种浏览器)的喜爱、
而且http性格温和体贴,但凡有丁点改动,都会问问姑娘们的意见。比如这里加个头,浏览器们兼不兼容呢,第二天再加个头,再问一遍。问完了还会领个证(rfc文档)。

不像rpc,游侠一样我行我素,只会耍酷,万年不变一句话:我快,很快,灰常快。用起来也像康师傅方便面一样简单方便。

以至于后来,http已经受欢迎到了极致,你只要知道域名,就能够通过他的僚机(dns)知道他的ip地址,找到对应的服务器。而rpc还是在自己的世界(局域网)里混。

说说rpc的僚机,人家也是有帮手的,跟dns差不多,充当着指路人的角色,帮助别人怎么找到他的。这个指路人有consul、etcd,zookeeper,甚至redis也可以。

当然私有dns服务器也可以呀,比如coreDNS。

总而言之言而总之,http是后生仔,为网页服务的,照顾各种浏览器,帅气通用,聪明(但是头比较大,而且多。。。)。

下次我们换个角度,从底层讲http与rpc的区别


http://www.mrgr.cn/news/38057.html

相关文章:

  • VGA/HDMI/DP接口和USB、串口通信协议
  • manim中获取并定位不规则页面的中心位置
  • Pandas空值识别,空值填充,空值过滤方法超详细解读
  • Java | Leetcode Java题解之第442题数组中重复的数据
  • OLMo - 训练和使用AI2 模型
  • 一款革命性的AI写作工具——文字游侠AI大模型重大升级,创作效率提高高达20倍,小白也能轻松实现月入过万!
  • Leetcode 740. 删除并获得点数
  • 衡石分析平台系统管理手册-功能配置之AI 助手集成嵌入指南
  • Stable Diffusion零基础学习
  • 电子电路智能设计课程内容是什么?
  • 解锁工具宝库,助力高效编程的诀窍
  • 深度学习自编码器 - 提供发现潜在原因的线索篇
  • 掌握编码最佳实践
  • RK3568-spi接口适配W25Q16
  • Spring Boot 进阶-Spring Boot 开发第一个Web接口
  • 深入探讨 MySQL 数据库结构
  • SQL进阶技巧:如何获取状态一致的分组? | 最大、最小值法
  • JavaScript 事件对象
  • bidict:Python 中高效的双向字典库
  • 选型4G-Cat.1模组Air780E的方法介绍