RPC框架是微服务的通信工具,其涉及到网络传输、服务注册、序列化、代理模式等等知识的学习与使用,是微服务的入门框架。
现有的比较知名的RPC框架有阿里巴巴开源的Dubbo,谷歌的开源RPC框架gRPC,甚至SpringCloud中所使用的OpenFeign。既然具有如此多的RPC框架,那么其原理与使用则代表着我们需要认真学习。
基于兴趣与找工作的目的,我在22年春招期间花了大约一周的时间开发了一个RPC框架,当时由于比较着急,所以并没有去了解RPC的痛点问题、背景等,只是依据Dubbo源码与网上的教程开发了一个简单的RPC。
在后续的复盘中,我发现现有网上的RPC从架构上就存在一定的问题,其并没有达到一个合格的RPC框架的使用标准,这也意味着我当时的RPC存在大量的问题。
在经历了大约一年的学习后,我决定重新按照我自己的思路重新编写一个RPC框架,再锻炼自己的技术与架构能力的同时,帮助同学们从0到1完成一个RPC框架。
这个应该算是我自己的2.0版本,本次取名为Bg-RPC(不鸽RPC),因为我比较的懒,本次取此RPC的名字也是激励自己一定要认真保质保量的完成此开源项目。
虽然说现在网上琳琅满目的小型RPC教程数不胜数,也有面试官跟我交流的时候说RPC已经是一个很成熟的产品了,并且确实RPC领域已经特别特别卷了,很难有革命性的突破,但是我认为对于自己来说还可以有以下的加强与探索点:
以上就是我本次RPC项目后期会重点关注的问题,对于我来说我认为以上都是比较困难的实现,而我希望能够在锻炼自己能力(秀技)的同时,去用自己微不足道的能力帮助入门者铺下一条学习中间件的道路。
开源地址:GitHub
教程内容:
如果大家有其他的想要了解的内容可以通过留言或者GitHub上的联系方式联系我,我会尽量满足大家的需求,我保证这次绝对不鸽!