An open API service indexing awesome lists of open source software.

https://github.com/mr-vincent/simple-rpc


https://github.com/mr-vincent/simple-rpc

rpc

Last synced: 29 days ago
JSON representation

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支持
- [ ] 异步调用支持