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

计算机网络应用层面试题(RPC)

文章目录

  • RPC
  • 1. RPC的作用是什么?
    • 回答
  • 2. [为什么有HTTP协议了?还要用RPC?](https://xiaolincoding.com/network/2_http/http_rpc.html#http-%E5%92%8C-rpc-%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB)
    • 回答

RPC

1. RPC的作用是什么?

分析
RPC的全称是Remote Procedure Call,即远程过程调用。简单解读字面上的意思,远程指定是指要跨机器而非本机,所以需要用到网络编程才能实现,但是不是只要通过网络通信访问到另一台机器的应用程序,就可以称之为RPC调用了?显然并不够。

我理解的RPC是帮助我们屏蔽网络编程细节,实现调用远程方法就跟调用本地(同一个项目中的方法)一样的体验,我们不需要因为这个方法是远程调用就需要编写很多与业务无关的代码。

这就好比建在小河上的桥一样连接着河的两岸,如果没有小桥,我们需要通过划船、绕道等其他方式才能到达对面,但是有了小桥之后,我们就能像在路面上一样行走到达对面,并且跟在路面上行走的体验没有区别。所以我认为,RPC的作用就是体现在这样两个方面:

  1. 屏蔽远程调用跟本地调用的区别,让我们感觉就是调用项目内的方法;

  2. 隐藏底层网络通信的复杂性,让我们更专注于业务逻辑。

回答

RPC 是远程过程调用,主要运用于微服务之间的通信,它的作用是帮助我们屏蔽网络编程细节,实现调用远程方法就跟调用本地(同一个项目中的方法)一样的体验让我们更专注于业务逻辑,而无需关注底层网络通信的细节。

2.为什么有HTTP协议了?还要用RPC?

分析

RPC 本质上不算是协议,而是一种调用方式,而像 gRPC 和 Thrift 这样的具体实现,才是协议,它们是实现了 RPC 调用的协议。目的是希望程序员能像调用本地方法那样去调用远端的服务方法。同时 RPC 有很多种实现方式,不一定非得基于 TCP 协议。


从发展历史来说,HTTP 主要用于 B/S 架构,而 RPC 更多用于 C/S 架构。但现在其实已经没分那么清了,B/S 和 C/S 在慢慢融合。很多软件同时支持多端,所以对外一般用 HTTP 协议,而内部集群的微服务之间则采用 RPC 协议进行通讯


RPC 其实比 HTTP 出现的更早,且比目前主流的 HTTP/1.1 性能要更好,所以大部分公司内部都还在使用 RPC。

HTTP/2.0在 HTTP/1.1的基础上做了优化,性能可能比很多 RPC 协议都要好,但由于是这几年才出来的,所以也不太可能取代掉 RPC

回答

HTTP 和 RPC 其实是两个维度的东西,HTTP 指的是通信协议。而 RPC 则是远程调用,其对应的是本地调用。RPC 的通信可以用 HTTP 协议,也可以自定义协议,是不做约束的。

用 HTTP 传输数据会有比较多的信息,比如头部有各种字段信息,数据载体则一般是用 json 格式,而 RPC 因为它定制化程度更高,可以采用体积更小的 protobuf或其他序列化协议去存储结构体数据,同时也不需要像HTTP那样考虑各种浏览器行为,比如302重定向跳转啥的,因此性能也会更好一些,这也是在公司内部微服务中抛弃HTTP,选择使用RPC的最主要原因。

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

http://www.jsqmd.com/news/334099/

相关文章:

  • FT8440E/FT8440S低成本12V200mA非隔离PWM功率开关芯片(区别差异)
  • 【ACM出版、往届EIScopus已检索】第二届健康信息化与数据分析国际学术会议(HIDA 2026)
  • 常州商户必看|解决团购运营痛点,三十六行常州分公司全平台赋能,用实力护航 - 野榜数据排行
  • AiP650E带键盘扫描电路接口LED驱动控制专用电路芯片特点及型号
  • 2026年四川路沿石厂家哪家强? 聚焦品质与实力的实用参考 贴合多场景 - 深度智识库
  • 为什么建议用poe路由器,但不建议用poe供电?
  • TextPicker组件,设为两列,如何实现这两列的滑动互不干扰?
  • 徐州本地生活团购代运营首选|三十六行徐州分公司,全平台赋能商户破局增长 - 野榜数据排行
  • list怎么更新单个item的ui?
  • RL 学习
  • 宇腾软件,专注于供应链及物流
  • promptAction.openCustomDialog弹窗关闭动画问题?
  • 生态林业旅游体验与森林保护攻略
  • 常州本地生活团购代运营优选|三十六行网络常州分公司,赋能商户破局线上增长 - 野榜数据排行
  • 2026四川路沿石厂家权威推荐榜 抗压耐用适配多场景 全景解析实力品牌 - 深度智识库
  • bindpopup设置popupColor属性不生效?
  • Full Circle柠檬杯好用吗?健康便携水杯推荐
  • 深耕无锡本土生活服务,三十六行全域营销方案落地成效 - 野榜数据排行
  • h5链接在HarmonyOS上无法正常展示?
  • DeepSeek解读用TypeScript的类型求解数独的代码
  • 题解:洛谷 P14242 [CCPC 2024 Shandong I] 分割序列
  • 一个用postgresql的自定义函数求解数独的程序
  • AlertDialog.show()中message的字体大小和颜色如何修改?
  • LP2178BY/LP2178B非隔离5V350mA语音小夜灯电源芯片解析
  • 2025-2026宣城本地生活团购运营服务商综合实力五强盘点 - 野榜数据排行
  • 2026年家用净水器怎么选?家用净水器十大品牌权威排行 - 水业策论
  • TikTok跨境电商:从“爆单逻辑”走向“合规与履约”时代的实战打法
  • <span class=“js_title_inner“>【AI时代生存指南】拒做时代的燃料:在算法迷雾中,夺回属于“人”的阵地</span>
  • 2026国内有实力的湖州花园设计施工公司排行 - 品牌排行榜
  • CH58X/CH59X的中断优先级配置机制