给我说下Http和RPC的区别是什么?
面试者:http的话性能要慢,RPC的话快很多,用于服务跟服务的调用
面试官:也没问题,但是这个我希望你答得更加全面点。
其实,他们2个不应该用来比较,因为他们根本不在同一个讨论维度的
首先,最核心的一点是,HTTP(HyperTextTransfer Protocol)本质上是一个协议。它是互联网数据通信的基础,定义了一套如何在网络上交换超文本的规则。它的核心是资源和状态,比如我们用GET去获取一个用户资源,用PUT去更新它。而RPC (Remote ProcedureCall)本质上是一种编程范式或者说架构思想。它的目标就一句话:让我调用一个远程服务的方法,就像调用本地方法一样简单自然。为了实现这个目标,我们需要一个完整的框架,这个框架需要解决序列化、网络传输、服务发现等一系列问题。但是协议这块,RPC框架可以选用HTTP作为其传输协议,也可以选用其他协议所以,一个非常关键的认知是:RPC是一种思想,而HTTP是实现这种思想的其中一种可能的传输协议。
所以,我们不是去比较他们的区别,而是要清楚什么时候用Http 什么时候用RPC调用。适合直接使用Http请求的:
接口是对外暴露的,比如给其他第三方合作端,给移动端调用的。因为HTTP是互联网的通用语言,任何客户端、任何语言都支持。如果是内部微服务调用,就可以采用RPC框架。比如dubbo,内部网络环境可控,使用二进制协议和高效序列化,吞吐量远高于HTTP,能显著降低延迟。#后端程。
THE END
- 本文链接:
- https://zxki.cn/wzym/55857.html
- 版权声明:本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
请登录后发表评论
注册
停留在世界边缘,与之惜别