视频资源获取失败
你好,我是何小锋。只要你做过几年开发,那我相信 RPC 这个词你肯定是不陌生了。写专栏之前,我还特意查了下 RPC 的百度指数,发现这些年 RPC 的搜索趋势都是稳步上升的,这也侧面说明了这项技术正在逐步渗透到我们的日常开发中。作为专栏的第一讲,我想只围绕“RPC”这个词,和你聊聊它的定义,它要解决的问题,以及工作原理。
在前些年,我面试工程师的时候,最喜欢问候选人一个问题,“你能否给我解释下 RPC 的通信流程”。这问题其实并不难,不过因为很多工程师平时都在用各种框架,他们可能并未停下来思考过框架的原理,所以,问完这问题,有的人就犹豫了,吱唔了半天也没说出所以然来。
紧接着,我会引导他说,“你想想,如果没有 RPC 框架,那你要怎么调用另外一台服务器上的接口呢”。你看,这问题可深可浅,也特别考验候选人的基本功。如果你是候选人,你会怎么回答呢?今天我就来试着回答你这个问题。
我知道你肯定不喜欢听概念,我也是这样,看书的时候一看到概念就直接略过。不过,到后来,我才发现,“定义”是一件多么伟大的事情。当我们能够用一句话把一个东西给定义出来的时候,侧面也说明你已经彻底理解这事了,不仅知道它要解决什么问题,还要知道它的边界。所以,你可以先停下来想想,什么是 RPC。

作者回复: 思路很好。
作者回复: 很好
作者回复: 👍
作者回复: 序列化是对方法调用的请求信息进行处理,编解码是对网络传输消息进行处理。
作者回复: 分布式事务是痛点,目前有开源方案了。我们为了性能常用补偿事务,最终一致性。
作者回复: 👍👍👍
作者回复: 这些都是rpc的核心功能。
作者回复: 外部用restful,主要是http协议标准,浏览器支持简单。而不是安全。都可以采用ssl加密
作者回复: 你好,leon。互相交流。都是我们实战的经验
作者回复: 👍