一个简易的rpc框架实现完整教程

楼主基本结束了秋招,开始整理之前做过的项目

在面经里,有不少人向我问过关于实现rpc框架的问题。私以为这个项目写在简历上算是一个比较好的加分项,应该会比秒杀系统更抢眼一点

我的这个rpc框架是参照着javaguide的作者guide哥的轮子实现的,当时扒的commits记录,增加了一些自己的特色,比如自定义协议啊、通用序列化接口啥的

guide哥现在也在写这个轮子的教程,无奈写得挺慢,而且应该是一个文档性质的教程,不太方便新手一点点跟着做

所以我整理了一份我自己的教程,尽可能渐进式去实现,新手友好吧

目前还在写,教程放在csdn上,地址

我的rpc框架在github上开源,地址

牛客的git也好使啦,https://git.nowcoder.com/6796629/My-RPC-Framework

最后还是要说,guide哥牛逼!#秋招##项目##校招#
全部评论
reactor
1 回复 分享
发布于 2020-08-03 01:28
顺便蹲一蹲字节杭州的同学
1 回复 分享
发布于 2020-08-03 08:21
可以可以,老哥造福牛客很棒!
1 回复 分享
发布于 2020-08-03 09:18
老哥tql
1 回复 分享
发布于 2020-08-03 09:49
感谢
1 回复 分享
发布于 2020-08-03 09:55
好赞,学习啦
1 回复 分享
发布于 2020-08-03 10:50
完了 怎么这么巧 这个项目我也做了🤣
1 回复 分享
发布于 2020-08-05 03:05
赞赞赞 正愁找不到rpc的教程🤣
1 回复 分享
发布于 2020-10-22 23:12
完蛋了,今年人手rpc
1 回复 分享
发布于 2021-06-01 00:01
我要🥜轮子搬运工🤣🤣
1 回复 分享
发布于 2022-05-04 18:17
大概需要这么些组件,注册中心,配置中心,序列化反序列化,路由,负载均衡,服务治理,多路复用,如果有个控制台就更好了
3 回复 分享
发布于 2020-08-03 12:57
有不少老哥问我要简历……可是我的简历真的没了啊……😢悲伤
3 回复 分享
发布于 2020-08-03 14:02
该系列已全部完成🎉 https://blog.csdn.net/qq_40856284/category_10138756.html
3 回复 分享
发布于 2020-08-04 17:11
请问,针对这个RPC框架,面试官都怼了哪些问题啊
3 回复 分享
发布于 2020-08-04 18:28
好奇妙 刚自己造这个轮子
3 回复 分享
发布于 2022-03-12 02:00
netty 不会..被问到就gg
2 回复 分享
发布于 2020-08-05 03:02
楼主顶一下 今天晚上在知识星球 牛客都看到你的帖子啦。
1 回复 分享
发布于 2020-08-02 23:48
牛客git现在试试呢,前段时间在换网络停过
1 回复 分享
发布于 2020-08-03 14:16
秒杀真就是简历污点hhh,我在发现大家简历上都有之后果断撤了hhh
1 回复 分享
发布于 2020-10-23 11:19
写这个之前要先去学一下dubbo吗😂
点赞 回复 分享
发布于 2020-08-03 00:36

相关推荐

11-10 13:42
已编辑
门头沟学院 Java
总时长75分钟,拷打的有点狠,深挖框架+实践 + 基础知识,还以为在面阿里。面试官是阿里系相关的,连JDK版本的优化都摸得很透彻。问的有点多,有些记不起了。内容包括:java基础 + java并发 + MySQL + Redis + Netty + Spring + SpringCloud + Nacos + 项目更新:很遗憾,发感谢信了。Java基础:有用过集合吗?说一说常用的集合Hashmap的底层结构?是怎么装入的?那HashMap扩容是怎样的,有特别的运算吗?知道哪些 java 并发包下的工具,详细介绍一下?synchronized,AQS是什么,有什么区别?volatile 是什么,和synchronized 有什么区别?synchronized能保证可见性吗?AQS的实现类有哪些?说一下reentrantlock,除了reentrantlock还知道其他吗?乐观锁和悲观锁是什么?具体的实现方案有哪些?公平锁和非公平锁的优点是什么?公平锁需要维护等待队列吗?ArrayList和LinkedList是什么,有什么区别?JUC:线程池是怎样的?有哪些创建方式?那线程池的参数怎样设计?线程的状态有哪些?线程池如何处理这些任务?非核心线程会回收,那核心线程会回收吗?如果回收怎么设置呢?如果设计一个动态线程池,你会怎样设计呢?详细说明一下。如果要动态更改线程池线程的类型,有什么设计方法吗?项目中有用到多线程吗?是为了做什么?Redis、MySQL:现实中用有到哪些Redis的数据结构,举例说明一下。布隆过滤器的底层是怎样的?有什么优缺点?布隆过滤器有误判吗?是实际存在有误判还是不存在有误判?那么误判怎么进一步处理?是直接查询数据库吗?MySQL的log文件有哪些?介绍一下作用MySQL有哪些锁?RocketMQ:RocketMQ怎么实现顺序消息?为什么会存在幂等消息,处理方案呢?Spring:Spring 的框架的核心是什么?JDK 代理和 CGLib 代理是什么?区别?听说过AOP吗,是怎样实现的?有什么功能?Spring 是怎样解决循环依赖的?Spirng 的Bean的初始化过程是怎么样的?Spring 的常见注解有哪些,有什么功能?Spirng MVC是什么?SpringCloud:了解过微服务吗?SpringCloud有哪些组件和对应的功能?直到SpringCloudAlibaba吗?有哪些组件?Nacos是什么?作用主要是什么?sentinel 的限流是怎样的?底层是怎样实现的?限流在项目中是怎么用的?Netty是什么了解吗?它为什么高效,怎么做到的?从底层角度讲一讲。反问:技术栈,部门,导师等。
查看80道真题和解析
点赞 评论 收藏
分享
评论
118
1186
分享
牛客网
牛客企业服务