开源地址:https://github.com/RabbitTeam/Rpc
Rpc核心类库,有如下功能:
服务代理生成器,提供的功能:
ProtoBuffer协议的编解码器实现。
基于ZooKeeper的服务路由管理。
基于DotNetty的传输实现。
ps:官方以有将DotNetty支持NET Core的计划,大伙可以再等等,待官方支持后,会尽快进行适配。
由于DotNetty不支持跨平台运行,为了让rpc能在其它平台上跑通,故移植了“Cowboy.Sockets”实现了一个简单的传输实现。
单元测试项目。
预生产服务代理的工具,提供了如下功能:
测试环境
OS |
CPU |
内存 |
硬盘 |
网络环境 |
虚拟机 |
Windows 10 x64 |
I7 3610QM |
16GB |
SSD |
127.0.0.1 |
否 |
Ubuntu 16.04 x64 |
I7 3610QM |
4GB |
SSD |
127.0.0.1 |
是 |
平均用时:2601.6毫秒
平均每次用时:0.26毫秒
通过率:100%
平均用时:2625.4毫秒
平均每次用时:0.25毫秒
通过率:100%
平均用时:3108.4毫秒
平均每次用时:0.31毫秒
通过率:100%
平均用时:3580.4毫秒
平均每次用时:0.35毫秒
通过率:100%
ps:linux性能与windows上的性能有一些差距,不知道是不是虚拟机的原因,但有个有趣的现象,protobuffer在linux上的性能居然比json低,应该是protobuffer库的实现不够优秀。
测试代码
https://github.com/RabbitTeam/Rpc/tree/master/src/examples/performances
等待DotNetty组件支持NETCore,并进行适配。
继续写Rabbit.Rpc相关的文章。
下一篇应该是,如何在Ubuntu上运行Rabbit.Rpc。
原文:http://www.cnblogs.com/Leo_wl/p/5652723.html