从零到一手写一个小型RPC框架——介绍篇

在这里插入图片描述

RPC框架介绍

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领域已经特别特别卷了,很难有革命性的突破,但是我认为对于自己来说还可以有以下的加强与探索点:

  1. 完整且合理的基准测试与压力测试
  2. 支持多种注册中心并且最好是在未来嵌入一个注册中心
  3. 支持多种序列化方式并且最好在未来嵌入一个序列化方式
  4. 对Netty直接内存管理的自动GC的实现
  5. 自研一个网络IO框架

以上就是我本次RPC项目后期会重点关注的问题,对于我来说我认为以上都是比较困难的实现,而我希望能够在锻炼自己能力(秀技)的同时,去用自己微不足道的能力帮助入门者铺下一条学习中间件的道路。

开源地址以及教程内容

开源地址:GitHub
教程内容:

  • RPC之运行流程与架构分析
  • RPC之服务发现与注册
  • RPC之序列化方式
  • RPC之动态代理
  • RPC之网络传输
  • RPC之SPI机制
  • RPC之负载均衡算法
  • RPC之心跳检验
  • 以及后续进阶内容

尾注

如果大家有其他的想要了解的内容可以通过留言或者GitHub上的联系方式联系我,我会尽量满足大家的需求,我保证这次绝对不鸽!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值