从零开始手写dubborpc框架-创新互联
rpc
rpc 是基于 netty 实现的 java rpc 框架,类似于 dubbo。
成都创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目网站设计制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元三门做网站,已为上家服务,为三门各地企业和个人服务,联系电话:18980820575主要用于个人学习,由渐入深,理解 rpc 的底层实现原理。
前言
工作至今,接触 rpc 框架已经有很长时间。
但是对于其原理一直只是知道个大概,从来没有深入学习过。
以前一直想写,但由于各种原因被耽搁。
技术准备
Java 并发实战学习
TCP/IP 协议学习笔记
Netty 权威指南学习
这些技术的准备阶段,花费了比较长的时间。
也建议想写 rpc 框架的有相关的知识储备。
其他 rpc 框架使用的经验此处不再赘述。
快速迭代
原来一直想写 rpc,却不行动的原因就是想的太多,做的太少。
想一下把全部写完,结果就是啥都没写。
所以本次的开发,每个代码分支做的事情实际很少,只做一个功能点。
陆陆续续经过近一个月的完善,对 rpc 框架有了自己的体会和进一步的认知。
代码实现功能,主要参考 Apache Dubbo
文档
文档
文档将使用 markdown 文本的形式,补充 code 层面没有的东西。
代码注释
代码有详细的注释,便于阅读和后期维护。
测试
目前测试代码算不上完善。后续将陆续补全。
rpc 模块
rpc-common 公共代码
rpc-server 服务端
rpc-client 客户端
rpc-register 注册中心
rpc-test 测试模块
代码分支
release_0.0.1-server 服务端启动
release_0.0.2-client 客戶端启动
release_0.0.3-客户端调用服务端
release_0.0.4-p2p 客户端主动调用服务端
release_0.0.5-serial 序列化
release_0.0.6-通用的反射调用
release_0.0.7-timeout 超时处理
release_0.0.8-register 注册中心
release_0.0.9-load balance 负载均衡
release_0.1.0-callType 调用方式
release_0.1.1-fail 失败策略
release_0.1.2-generic 泛化调用
release_0.1.3-gracefully 优雅关闭
release_0.1.4-interceptor 拦截器
测试代码
从 v0.0.6 及其之后,为了让代码保持纯净,将测试代码全部放在 rpc-example。
每个测试代码和实现版本一一对应。
rpc-example
文档说明
0.0.1-server 服务端启动
0.0.2-client 客戶端启动
0.0.3-客户端调用服务端
0.0.4-p2p 客户端主动调用服务端
0.0.5-serial 序列化
0.0.6-通用反射调用
0.0.7-timeout 超时处理
0.0.8-register 注册中心
0.0.9-load balance 负载均衡
0.1.0-callType 调用方式
0.1.1-fail 失败策略
0.1.2-generic 泛化调用
0.1.3-gracefully 优雅关闭
0.1.4-interceptor 拦截器
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享题目:从零开始手写dubborpc框架-创新互联
当前链接:http://scyanting.com/article/cdscgc.html