rpc 是基于 netty 实现的 java rpc 框架,相似于 dubbo。java
主要用于我的学习,由渐入深,理解 rpc 的底层实现原理。git
工做至今,接触 rpc 框架已经有很长时间。github
可是对于其原理一直只是知道个大概,历来没有深刻学习过。apache
之前一直想写,但因为各类缘由被耽搁。markdown
TCP/IP 协议学习笔记负载均衡
这些技术的准备阶段,花费了比较长的时间。tcp
也建议想写 rpc 框架的有相关的知识储备。学习
其余 rpc 框架使用的经验此处再也不赘述。
原来一直想写 rpc,却不行动的缘由就是想的太多,作的太少。
想一下把所有写完,结果就是啥都没写。
因此本次的开发,每一个代码分支作的事情实际不多,只作一个功能点。
陆陆续续通过近一个月的完善,对 rpc 框架有了本身的体会和进一步的认知。
代码实现功能,主要参考 Apache Dubbo
文档将使用 markdown 文本的形式,补充 code 层面没有的东西。
代码有详细的注释,便于阅读和后期维护。
目前测试代码算不上完善。后续将陆续补全。
rpc-common 公共代码
rpc-server 服务端
rpc-client 客户端
rpc-register 注册中心
rpc-test 测试模块
release_0.0.9-load balance 负载均衡
从 v0.0.6 及其以后,为了让代码保持纯净,将测试代码所有放在 rpc-example。
每一个测试代码和实现版本一一对应。