手写RPC框架,真不是为了装13!

2023-08-17

面试中,很容易被面试官问到:

如何设计一个RPC框架

你可能没有被问到过,可能是运气好,也可能是你还没到这个级别。通常月薪20k以上,基本上都会问一些设计性的题目。

站在面试官角度:问这类题目,总比一个八股文强,这里面会涉及到很多技术点。比如:设计模式、通信协议、动态代理、虚拟化、线程池等知识。

好吧,不扯远了,我们开始聊今天的话题。

RPC全程为Remote procedure call 远程过程调用,这几个字很多人可能并不是特别的理解,再简单的说就是:

像调用本地方法一样调用远程服务

比如,下面一个案例:一个用户操作服务:

public interface UserService{
    String findUserNameById(Integer userId);
}
@Service
public class UserServiceImpl implements UserService{
    String findUserNameById(Integer userId){
        //查数据或查缓存获取到用户名
        return "田哥"
    }
}
登录后复制

  • 研究表明:手写比键盘打字更有益于大脑 更容易记忆
    研究表明:手写比键盘打字更有益于大脑 更容易记忆

    挪威科技大学的科学家研究发现,与键盘打字相比,用手写字时,大脑不同区域之间的连接性增加,更加复杂,这种改善对记忆和学习至关重要。 挪威科技大学的研究人员针对手写和键盘录入文字进行了多次调查,都证实了一个同样的结论...

  • 在 iPhone 的 Notes 应用程序中扫描打印和手写笔记
    在 iPhone 的 Notes 应用程序中扫描打印和手写笔记

    2022 年,Apple 为 iPhone 和 iPad 上的 Notes 应用程序添加了一项新功能,可让您快速扫描打印或手写文本并将其保存为数字文本格式。继续阅读以了解其工作原理。 在早期版本的 iOS 和 iPadOS 上,将文本扫描到 Apple 的 Notes 应用程...

  • win11手写输入法怎么开启 win11打开手写输入文本的教程
    win11手写输入法怎么开启 win11打开手写输入文本的教程

      手写输入法是win11中文版中的一项实用功能,它可以让用户通过手写的方式进行文字输入,相比于传统的键盘输入,手写输入法更加直观且便捷,尤其适用于触控屏幕设备。许多用户不了解win11手写输入法怎么开启,就来咨询小编,接下来...

  • 手写RISC-V处理器(1)
    手写RISC-V处理器(1)

    由来 由于去年工作变动,有幸进入了芯片行业,但主要工作内容为基于RISC-V的嵌入式应用软件开发,几乎接触不到芯片设计的相关知识,然而随着工作的深入,越来越想探究一下运行在软件之下的CPU的世界,于是便产生了自己手写一个RISC-V...

  • 手写raft(二) 实现日志复制
    手写raft(二) 实现日志复制

    1. Raft日志复制介绍 在上一篇博客中MyRaft实现了leader选举,为接下来实现日志复制功能打下了基础: 手写raft(一) 实现leader选举 日志复制是raft最核心也是最复杂的功能,大体上来说一次正常的raft日志复制大致可以简化为以下几步完...

  • Html+JavaScript实现手写签名
    Html+JavaScript实现手写签名

    前言 Hello各位,本葡萄又来啦,今天遇到的场景是这样的:在日常业务流程中,经常需要某一流程环节中相关责任人员进行审批签字,早期许多公司为了省事就直接会把这位负责人的签名以键盘打字(楷体)的形式打印出来,但是这样的坏处就...

  • 手写 Vuex4 源码
    手写 Vuex4 源码

    本文首发于掘金,未经许可禁止转载 Vuex4 是 Vue 的状态管理工具,Vuex 和单纯的全局对象有以下两点不同: Vuex 的状态存储是响应式的 不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地 提交 (commit) mutati...

  • macbook苹果m1芯片训练机器学习、深度学习模型,resnet101在mnist手写数字识别上做加速,torch.device("mps")
    macbook苹果m1芯片训练机器学习、深度学习模型,resnet101在mnist手写数字识别上做加速,torch.device("mps")

    apple的m1芯片比以往cpu芯片在机器学习加速上听说有15倍的提升,也就是可以使用apple mac训练深度学习pytorch模型!!!惊呆了 安装apple m1芯片版本的pytorch 然后使用chatGPT生成一个resnet101的训练代码,这里注意,如果网络特别...