https://github.com/mr-vincent/simple-rpc
https://github.com/mr-vincent/simple-rpc
rpc
Last synced: 29 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/mr-vincent/simple-rpc
- Owner: Mr-Vincent
- Created: 2018-03-12T14:19:30.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-09-24T16:13:44.000Z (over 3 years ago)
- Last Synced: 2025-04-23T00:46:14.817Z (29 days ago)
- Topics: rpc
- Language: Java
- Size: 270 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
### simple-rpc
一款十分简单的rpc框架 渣渣性能 仅供娱乐消遣### features
* 采用最传统的阻塞io,性能足以被任何框架秒杀
* ~~纯jdk实现,无任何第三方依赖~~### 性能
- [x] 同步调用
#### 第0次优化
没有任何优化的结果:~~Request count: 256000, time: 506 second, qps: 505~~
#### 第1次优化本屌将同步方式改为炫酷的AQS实现,放弃使用sync关键字(原因在于sync是基于字节码,在jvm指令层实现的同步,开销很大,而AQS基于语义实现的同步)性能提升了3倍,优化效果很棒!
~~Request count: 256000, time: 177 second, qps: 1446~~
#### 第2次优化本屌又将序列化方式换为google的proto实现 性能提升不是很明显,因为只是将字节压缩了,测试跑在同一台机器上,没法体现。
~~Request count: 256000, time: 141 second, qps: 1815~~
#### 第3次优化
本屌将服务端的反射实现改为cglib而不是用jdk原生实现,性能有所提高。
**(最新数据)Request count: 256000, time: 116 second, qps: 2206**### 开始重构
#### todo
- [ ] 网络接口层抽象
- [ ] 自定义实现注册中心
- [ ] spi加载机制
- [ ] spring支持
- [ ] 异步调用支持