整个项目的完成大概花了半年的空闲时间,期间有大量参考gitee和github上的一些个人开源或者大型开源rpc项目:比如motan、以及一些个人的优秀开源rpc 关于该项目整理的文档,大家可以关注我的csdn博客:https://blog.csdn.net/whatjeans/category_12093707.html?spm=1001.2014.3001.5482
简单分享一下写这个rpc的原因:
使用技术栈:springboot、netty、zk zk:做注册中心,api使用的是curator (学习阶段:用什么注册中心不重要,工业落地阶段:需要考虑,不同的注册中心侧重点不同,性能也不同) netty:数据通讯层 客户端和服务端均采用netty通信(netty比较重要,基本上javaEE说的出开源的组件基本上都用的netty做的网络通信层) springboot:提供client和server 对应的stater自动配置(springboot应该已经是标配了吧,应该没人想回到ssh时代吧)
study-rpc是一款基于java语言开发的rpc框架,目前只支持java语言,建议整合springboot会更好使用
后面有时间的话,准备去研究一下 rpc调用全异步实现的方式和链路追踪
study-rpc 主要包含rpc-core的核心代码 而这个仓库study-rpc-all做了以下添加:(相当于结合springboot做了一个整合,写了一个测试接口,代码拉下去,配置环境基本上就可以跑了)
性能 压力测试:平均qps6700左右(windows+12核+内存16g) 做一个集群的话,企业也是能够使用的
性能测试:
rpc-core : rpc实现核心 study-rpc-client-stater : 客户端stater study-rpc-server-stater : 服务端stater common-api : 公共接口 test-consumer : client使用案列 test-provider : server使用案列
按照上述包流程: 1、启动zk 2、test-provider 主启动类 3、test-consumer 主启动类 4、调用test-consumer 的controller包下的HelloWorldController类的sayHello接口做测试
最后的最后,如果有所收获的话,还希望点一个小♥(ˆ◡ˆԅ),fork一下的话,是我更大的鼓励
联系方式:qq 1210849153 一个还没有工作就有1年工作经验的菜鱼程序员
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。