手写RPC(一) 絮絮叨叨

前言

提到RPC(Remote Procedure Call)大家应该都不陌生,特别是像我一样做web开发的,可以说天天和rpc打交道。常见的rpc框架主要包括DubboSpringCloudThrift等。
既然有了那么多已经成熟的开源RPC框架,我为什么还要自己写呢,是已有的RPC框架不能满足我的业务需求?是因为我想写一款完美的RPC框架一战成名?NO! NO! 都不是,你给自己加戏太多了!我只是想以此来学习,督促自己学习,同时印证自己所学。

我的知识库

做开发也好几年了(本人一直是做java开发),从最开始的最基本语法到htmlspringjavaScriptredismysql,再到后来的springboot,再到zookeeper,学习了分布式系统的CAP理论,学习了分布式事务怎么处理,学习了应用怎么做可以抗住高并发。然后前几年大数据兴起,还去找课程学习了hadoop一套,买了一两台乞丐版云服务器,自己搭建hadoop集群,自己写MR任务,跑在自己搭建的集群,满满的成就感。然后学习了HIVE发现,原来我不用自己写MR任务,直接一条SQL搞定!接着机器学习兴起,python是机器学习的首选语言,然后找教程学了python语法,又听说机器学习需要数据基础,然后找了概率论统计学专为程序员设计的线性代数来学习。然后又看到微信公众号说 go语言为并发而生,阿里、腾讯等大厂现在大量招收有 golang语言工作经验的人,你们懂的,我尝试去学习了go语言,也跟着视频超了几个项目,也能正常运行。稍稍回首发现,自己好厉害,林林总总学了这么多东西!

学会了?

然而,你真的学会了吗?是的,真的学废了!
hadoop我记得它的基石hdfsnamenodedatanode的概念!
hive我知道它可以把一条sql转化为MR任务运行!
我记得老师多次提到过的大数据的计算的一个原则或者说理念计算向数据移动
关于python,我可以写一个hello world,写一个九九乘法表,装环境可能还需要百度!
关于golang,可以写hello world、可以写一个基于控制台的人机交互的猜大小的游戏!
然而,仅此而已!我的工作环境没有大数据的场景和需求,所以学完的东西很快就会忘记,因为没有使用场景。python也几乎没有使用场景。关于go,很多人说感觉golang的语法像在这里插入图片描述
,学完后真香!但我还一直处于第一个阶段!

学不动了?

除了上面的说的那些,做为一个java开发者,你难道忘了自己的本职工作,怎么提高接口的响应速度,缓存的知识要了解吧?引入了缓存,缓存数据一致性怎么保证?要优化查询速度,数据库索引的知识需要知道的吧,必要的时候还需要进行优化。要想保证代码的健壮和优雅,java编程最佳实践了解下?
在这里插入图片描述
但是你真的敢不学了么!
有时候突然会很迷茫,感觉自己懂了很多东西,仔细想想又感觉自己什么都不懂,更加迷茫了。但是总不能一直迷茫在这里插入图片描述

无论怎么样,生活总要继续!

愿看到这篇文章的你在生活中的漩涡里激流勇进,愿和我一样迷茫的你,静下心来一起努力。
来吧,趁着有时间,一起写个rpc框架,万一写出来了呢?
在这里插入图片描述
系列文章传送门如下:
手写RPC(二) 碎碎念
手写RPC(三) 基础结构搭建
手写RPC(四) 核心模块网络协议模块编写 ---- netty服务端
手写RPC(五) 核心模块网络协议模块编写 ---- 自定义协议
手写RPC(六) 核心模块网络协议模块编写 ---- 实现编解码器
手写RPC(七) 核心模块网络协议模块编写 ---- 实现客户端
手写RPC(八) provider、consumer 实现
手写RPC(九) 测试
手写RPC(十) 优化
关于 LengthFieldBasedFrameDecoder 不得不说的事

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不务正业的攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值