Java后端实战项目-手写RPC

大家好,我是代码界的小白,今天给大家分享一下Java后端的实战项目-手写RPC公众号:代码界的小白,会更新互联网消息、动态、高频八股、实战项目等。

RPC框架的搭建的学习视频可以在慕课网,搜索RPC,即可看到,“自己动手实现RPC框架”,当然,这个课程全程只有两个多小时,仅仅是一个带你入门的作用,更多的学习,可以通过阅读dubbo等RPC框架的源码来进行。

1.项目介绍

首先了解什么是RPC框架,RPC(Remote Procedure Call Protocol)远程过程调用协议。一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。下面是常见的集中RPC框架的对比。

该项目将带大家从原理及实现上理解RPC框架。

首先讲解RPC是什么,我们为什么需要RPC;

进一步分析其核心原理,梳理其中会设计到的技术点,为我们后续造轮子做准备;

然后从工程建立模块划分开始,接着定义协议实现序列化、实现网络模块、实现server模块、实现client模块,开发完成之后利用自己的RPC开发一个具备分布式特效的功能。

当然,RPC的功能远不止此,我们可以通过阅读更多的开源代码,来为自己RPC框架增加功能,这也是一件充满乐趣的事情。

2.从此项目中我们可以学到什么

上图主要说明了RPC框架的五个模块,包括五个主要模块,包括协议模块序列化模块网络模块server模块以及Client模块,同时说明了每个模块中的类及其调用关系。

课程主要实现了ServerClient的远程调用,包括动态代理、序列化以及网络传输。

但是在本课程中没有实现注册中心模块,各位可以参考相关RPC框架(个人参考Dubbo)来进行完善。

个人主要额外实现的部分:

  • 基于redis实现的注册中心
  • 更多负载均衡算法的实现

2.1后端技术

  • Lombok
  • 负载均衡策略
  • Fastjson序列化
  • JDK动态代理
  • HTTP网络编程
  • Maven
  • Redis实现的注册中心(可选)

2.2其他技术

  • Git

3.简历中如何写?

项目名称:基于Java语言实现的RPC框架

项目描述

  • 实现轻量级RPC框架,使得客户端可以通过网络从远程服务端程序上请求服务
  • 注册中心部分使用Redis实现注册、订阅功能(可选)
  • 在客户端实现了基于一致性哈希算法的负载均衡(可选)
  • 动态代理部分使用JDK动态代理
  • 网络传输部分使用Http协议进行传输

4.总结

该项目是一个基于全长两个多小时的视频的小项目,在完成整个课程之后,我们即可对RPC框架的基本原理b功能实现方式有着一定的了解。

但是,这是一个值得你在完成之后继续花心思去琢磨去研究的项目。

通过研究Dubbo等常见RPC框架,你可以为你的RPC项目添加模块比如注册中心,也可以为你现有的模块增加更多的实现方法,比如各类负载均衡算法的实现,基于Netty的通信等等,如果你可以将这些融会贯通,那么对你的成长以及面试都会有非常大的帮助。

往期实战项目推荐

#Java后端实战项目##Java##学习路径#
全部评论
这个手写rpcB站有更全的,各位可以看
4 回复 分享
发布于 2022-05-24 02:01
你好,考研复试这个可以当做项目说么?
1 回复 分享
发布于 2022-03-02 17:46
楼主你好,我目前是一个大三的学生,想找一个实习,但是完全没有项目经验。您看除了这个项目之外还有没有什么别的项目推荐,我想学着做一点,然后在简历上写一写,趁现在很多公司都在招23届实习生去找个实习。不需要太大型的项目,太大型的项目我也不知道怎么入手,就略微简单一点,然后可以学到些东西,可以在简历上写一笔的那种
1 回复 分享
发布于 2022-03-05 18:33
楼主你好,请问有注册中心的源码吗?我已经跟着该课程写了一遍,但找不到注册中心的实现思路,想用您的代码学习参考一下
1 回复 分享
发布于 2022-03-06 12:16
找不到这个 能不能给个连接
1 回复 分享
发布于 2022-07-30 15:00
请问学这个rpc项目前需要先把dubbo学完吗
点赞 回复 分享
发布于 2022-04-21 16:30
大佬 问下这个项目适合没学过spring各种框架的做嘛?我是走测试开发的 也想找个Java的小项目😂
点赞 回复 分享
发布于 2022-06-10 10:25
你好大佬,请问这个项目得先学Netty吗?
点赞 回复 分享
发布于 2023-05-30 20:14 湖南
mark
点赞 回复 分享
发布于 2023-07-23 02:26 四川

相关推荐

评论
47
528
分享
牛客网
牛客企业服务