RPC实战与核心原理
何小锋
京东技术架构部首席架构师
立即订阅
1113 人已学习
课程目录
已更新 3 讲 / 共 28 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 别老想着怎么用好RPC框架,你得多花时间琢磨原理
免费
基础篇 (2讲)
01 | 核心原理:能否画张图解释下RPC的通信流程?
02 | 协议:怎么设计可扩展且向后兼容的协议?
RPC实战与核心原理
登录|注册

01 | 核心原理:能否画张图解释下RPC的通信流程?

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

什么是 RPC?

我知道你肯定不喜欢听概念,我也是这样,看书的时候一看到概念就直接略过。不过,到后来,我才发现,“定义”是一件多么伟大的事情。当我们能够用一句话把一个东西给定义出来的时候,侧面也说明你已经彻底理解这事了,不仅知道它要解决什么问题,还要知道它的边界。所以,你可以先停下来想想,什么是 RPC。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《RPC实战与核心原理》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(4)

  • Eclipse
    1 请求远程api接口,RESTful?
    2 通讯的话,netty更适合做底层的事,rpc设计了部分业务治理?

    作者回复: 你好,eclipse。restful是一种常用的请求方式,在高性能,大并发的情况下,私有的rpc协议也很常用。如grpc,dubbo等。好的rpc总算要伴随治理才能完善。

    2020-02-17
    2
  • Tesla
    老师好,例如说redis的rpc调用。是指redis-cli开启的客户端,去远程调用redis-server中的方法吗?我一直以为redis-cls组件只是传命令字符串给服务端,经由服务端的唯一入口 一个解析命令的方法,再去触发相关操作。
    2020-02-17
    1
  • 每天晒白牙
    服务调用的RPC框架
    RPC在使用中需要接口的版本,比如服务提供方升级了接口,比如增加字段了。请求方没有修改接口的版本。这样调用就会出问题了。这个问题的根本属于协议内容,如果设计好的协议支持兼容扩展,一般是向下兼容,就能实现低版本的调用方照样调用高版本的服务方
    2020-02-17
    1
  • gogo
    1. redis
    2. mysql
    3. eureka

    作者回复: 你好,gogo。这些交互都涉及到rpc调用。

    2020-02-17
收起评论
4
返回
顶部