上周我面了个三年 Javaer,这几个问题都没答出来(下)

简介: 上周我面了个三年 Javaer,这几个问题都没答出来(下)

可能还有些小伙伴不太清楚,再来看个图。


image.png

把之前的用户实现拆分出来弄了一个用户服务,订单相关的也拆成了订单服务,都单独部署。

这样订单相关的服务要获取用户的信息就需要远程调用了。

可以看到 RPC 就是通过网络进行远程调用,订单服务其实就是客户端,而用户服务是服务端。

这又涉及到交互了,所以也需要约定一个格式,至于要不要用 HTTP 这个格式,就是大家自己看着办

至此相信你对 HTTP 是啥也清楚了。

RPC 和 HTTP 的之间的关系也清楚了。

下次再也不怕被面试官问这个了。


那为什么要有 RPC?


可能你常听到什么什么之间是 RPC 调用的,那你有没有想过为什么要 RPC, 我们直接 WebClient HTTP 调用不行么?

其实 RPC 调用是因为服务的拆分,或者本身公司内部的多个服务之间的通信。

服务的拆分独立部署,那服务间的调用就必然需要网络通信,用 WebClient 调用当然可行,但是比较麻烦。

我们想即使服务被拆分了但是使用起来还是和之前本地调用一样方便

所以就出现了 RPC 框架,来屏蔽这些底层调用细节,使得我们编码上还是和之前本地调用相差不多。

并且 HTTP 协议比较的冗余,RPC 都是内部调用所以不需要太考虑通用性,只要公司内部保持格式统一即可。

所以可以做各种定制化的协议来使得通信更高效

比如规定 yes 代表 yes的练级攻略,你看是不是更高效了,少传输的 5 个字。

就像特殊行动的暗号,高效简洁!

所以公司内部服务的调用一般都用 RPC,而 HTTP 的优势在于通用,大家都认可这个协议。

所以三方平台提供的接口都是通过 HTTP 协议调用的

所以现在知道为什么我们调用第三方都是 HTTP ,公司内部用 RPC 了吧?

对了。

上面这段话看起来仿佛 HTTP 和 RPC 是对等关系,不过相信大家看了之前的解析心里应该都有数了。


最后


最近几次面试下来我发现挺多同学基础还是挺薄弱的。

地基要牢啊,八股文得背没错,但是这种基本概念性的东西还是有必要清晰的。

看起来好像对平时的编码没什么用,但是这可以认为是一个“世界观”。

这对于一些事物的判断和认知有很重要的意义。

你站的高才能看的远。

对了,理解了 HTTP 的本质相信你对 RESTful 风格也应该会有更深一层的理解。

HTTP 它是协议,不是运输通道。

下一篇我会剖析下 RESTful ,让你知其然知其所以然。

平日的面试题遇到难处,或者看某个知识点翻遍全网的资料还是感觉很模糊、不透彻,可以私聊我,给我留言。

遇到合适的我会整理写出一篇文章,注意这个前提我认为合适的。

那种工作遇到很细节的场景的还是别了,这种问你上司比较合适:)。


我是 yes,从一点点到亿点点,欢迎在看、转发、留言,我们下篇见。


image.png

image.png


相关文章
|
Java 程序员 应用服务中间件
雷军22年前写的代码 你见过吗?
作为小米科技的创始人、董事长和首席执行官,雷军的名字如雷贯耳。网上出现一篇“刘强东的代码水平如何”的文章,有网友在下面回复“代码只服雷军”。这个回复吸引了小编的注意,雷军的代码水平真的很牛吗? 原来雷军年轻的时候,也是一名程序员,而且一干就是10年。
1732 0
|
网络协议 算法 Java
上周我面了个三年 Javaer,这几个问题都没答出来(上)
上周我面了个三年 Javaer,这几个问题都没答出来(上)
上周我面了个三年 Javaer,这几个问题都没答出来(上)
|
Android开发
程序人生 - 为什么王者荣耀有排名没称号,周一几点有荣耀称号?
程序人生 - 为什么王者荣耀有排名没称号,周一几点有荣耀称号?
236 0
|
人工智能 云计算
虽然比华为阿里都晚,百度“高管轮岗制”终究还是来了
虽然比华为阿里都晚,百度“高管轮岗制”终究还是来了
298 0
虽然比华为阿里都晚,百度“高管轮岗制”终究还是来了
|
Windows 芯片
微软MVP北京9月份聚会散记
这次聚会以技术讲座为主,上午是尤勇老师的两个讲座,“Microsoft FlexGo 技术简介”和“Microsoft Windows Powershell V1.0”,两个讲座都令人耳目一新
708 0
|
JavaScript 算法 Python
本周上市新书
异步社区本周上市新书
1487 0
|
人工智能 安全 物联网
我和春天有个约会,阿里云 MVP第4期公布
自2017年6月10日,阿里云宣传 MVP计划启动,并在11月向全球公开招募。阿里云最有价值专家,简称 MVP(Most Valuable Professional),是专注于帮助他人充分了解和使用阿里云技术的意见领袖。
1952 0