# study-rpc-all **Repository Path**: xunL-code/study-rpc-all ## Basic Information - **Project Name**: study-rpc-all - **Description**: study-rpc 主要包含rpc-core的核心代码 而这个仓库做了以下添加:(相当于做了一个整合) 1、整合springboot,能够快速开始 2、提供简单的测试用例 3、提供简单的压力测试 4、代码的模块做了一些管理 压力测试:平均qps6700左右(windows+12核+内存16g) - **Primary Language**: Java - **License**: Not specified - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2022-11-14 - **Last Updated**: 2022-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # study-rpc-all(支持10Wqps(集群)) 整个项目的完成大概花了半年的空闲时间,期间有大量参考gitee和github上的一些个人开源或者大型开源rpc项目:比如motan、以及一些个人的优秀开源rpc 使用技术栈:springboot、netty、zk zk:做注册中心,api使用的是curator netty:数据通讯层 客户端和服务端均采用netty通信 springboot:提供client和server 对应的stater自动配置 #### 介绍 study-rpc是一款基于java语言开发的rpc框架,目前只支持java语言,建议整合springboot会更好使用 study-rpc 主要包含rpc-core的核心代码 而这个仓库study-rpc-all做了以下添加:(相当于结合springboot做了一个整合,写了一个测试接口,代码拉下去,配置环境基本上就可以跑了) 1. 整合springboot,能够快速开始 2. 提供简单的测试用例 3. 提供简单的压力测试 4. 代码的模块做了一些管理 性能 压力测试:平均qps6700左右(windows+12核+内存16g) 做一个集群的话,企业也是能够使用的 性能测试: ![输入图片说明](%E5%90%8C%E6%AD%A5qps.png) #### study-rpc业务架构图 ![输入图片说明](https://foruda.gitee.com/images/1665891422789381305/7f42e499_8235873.png "rpc业务架构图.png") #### 代码包介绍 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包 #### 使用说明(关于使用上还有很多没有规范) 1. 需要前置安装zk,测试的话,单节点即可 2. 服务提供者启动,参考 test-provider包 3. 客户端消费者启动,参考test-consumer包 4. 启动服务提供者 5. 启动消费者 6. 可以尝试测试接口(common-api包的HelloWorldService接口) 按照上述包流程: 1、启动zk 2、test-provider 主启动类 3、test-consumer 主启动类 4、调用test-consumer 的controller包下的HelloWorldController类的sayHello接口做测试 #### 有关study-rpc的环境问题可以和我讨论交流 联系方式:qq 1210849153 一个还没有工作就有1年工作经验的菜鱼程序员 #### 未来 后面有时间的话,准备去研究一下 rpc调用全异步实现的方式和链路追踪(去优秀的rpc开源项目中抄代码) 然后准备加入到该项目中来 todo 1. rpc全异步调用实现 2. 链路追踪(可视化) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request 最后的最后,如果有所收获的话,还希望点一个小♥(ˆ◡ˆԅ),fork一下的话,是我更大的鼓励