大家好,我是代码界的小白,今天给大家分享一下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模块,同时说明了每个模块中的类及其调用关系。 课程主要实现了Server和Client的远程调用,包括动态代理、序列化以及网络传输。 但是在本课程中没有实现注册中心模块,各位可以参考相关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后端实战项目推荐-黑马头条  Java后端实战项目推荐-锋迷商城  
点赞 50
评论 9
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
你找工作的时候用AI吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务