自己两个库,star 数量 250 了,不想 250,并且全程用爱发电、花了很多时间肝代码,所以厚着脸皮,来推广一波求破
项目地址:
其中:
感谢鸟窝老师出品的 2021 年 Go 生态圈 rpc 框架 benchmark 收录了 ARPC 。
对比了一些其他常见的 RPC 框架,我和朋友们的测试环境覆盖 4c8t-8c16t 的机器,跑出来的结果是 ARPC 各项指标均领先其他框架。但可能不同的人测试环境、测试过程中的软硬件稳定性存在差异,所以其他一些框架作者公布的测试结果会有差别。从实证主义触发,有兴趣的同学可以用上面帖子中的测试代码自行跑下来看实际效果。
golang 标准库方案通常是一个连接对应一个或者多个 goroutine,在海量并发场景下,大量 goroutine 带来的内存、gc 、调度成本太高,服务响应性能、稳定性降低。
NBIO 主要针对海量并发场景,实现了自定义 poller 、tls/http1x/websocket 的异步流解析,用于提高同等硬件的承载能力和稳定性。
在 10w tls+websokcet 连接数的测试中:
| 测试环境 | 标准库方案 | NBIO 方案 |
|---|---|---|
| os:vmware ubuntu
cpu:i7 8700 4c8t
mem:8g | 内存占用:3.3g
qps:平均约 6-8w
稳定性:1-12w 波动,不稳定 | 内存占用:1.3g
qps:11-12w 范围
稳定性:运行稳定|
1
shoaly 2021-08-18 18:26:22 +08:00
老哥 想问问 有没有 qq 或者 tg 群啊 不然咋个交流呢... 想基于 arpc 写一个应用
|
2
lesismal OP @shoaly github 是非常方便和足够交流的,技术群会消耗我大量的社交时间,所以暂时不打算建群。有需要的在 github 上提 issue 就可以了,习惯了 github 对大家提升水平也有帮助。
|
3
pzzrudlf 2021-09-21 00:39:19 +08:00 via iPhone
膜拜大佬
|
4
lesismal OP |