腾讯微群加入QQ群

 找回密码
 加入我们

!connect_header_login!

!connect_header_login_tip!

搜索
查看: 490|回复: 1

拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc

[复制链接]
发表于 2016-7-8 11:44:46 | 显示全部楼层 |阅读模式
特性一览

  • Apache License 2.0协议开源
  • 支持客户端负载均衡(提供了轮询、随机算法的实现)
  • 支持ZooKeeper和文件共享形式的服务协调
  • 运行时客户端代理生成(基于Roslyn)
  • 预生成客户端代理
  • 客户端代理预生成(基于Roslyn)
  • 抽象的编解码器(提供了JSON、ProtoBuffer协议的实现)
  • 抽象的传输通道(提供了DotNetty与Cowboy.Sockets的移植实现)
  • 异常信息传递(服务端运行时的本地异常可以传递至客户端)
  • NET Core项目架构
  • 跨平台
项目概况
开源地址:https://github.com/RabbitTeam/Rpc
Rabbit.Rpc(支持跨平台)Rpc核心类库,有如下功能:

  • 服务Id生成
  • 传输消息模型
  • 类型转换
  • 服务路由抽象
  • 序列化器抽象(默认提供JSON序列化器)
  • 传输抽象
  • 编解码器抽象(默认提供JSON的编解码器实现)
  • 客户端运行时(地址解析器、地址选择器,远程调用服务)
  • 服务端运行时(服务条目管理、服务执行器、服务发现抽象、RpcServiceAttribute标记服务发现实现)
Rabbit.Rpc.ProxyGenerator(支持跨平台)服务代理生成器,提供的功能:

  • 服务代理实现生成
  • 服务代理实例创建
extensions(相关扩展)Rabbit.Rpc.Codec.ProtoBuffer(支持跨平台)ProtoBuffer协议的编解码器实现。
Rabbit.Rpc.Coordinate.Zookeeper(支持跨平台)基于ZooKeeper的服务路由管理。
Rabbit.Transport.DotNetty(暂不支持跨平台)基于DotNetty的传输实现。
ps:官方以有将DotNetty支持NET Core的计划,大伙可以再等等,待官方支持后,会尽快进行适配。
Rabbit.Transport.Simple(支持跨平台)由于DotNetty不支持跨平台运行,为了让rpc能在其它平台上跑通,故移植了“Cowboy.Sockets”实现了一个简单的传输实现。
toolsRabbit.Rpc.Tests单元测试项目。
Rabbit.Rpc.ClientGenerator(支持跨平台)预生产服务代理的工具,提供了如下功能:

  • 生成服务代理实现代码文件
  • 生成服务代理实现程序集文件
性能测试测试环境
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
Windows10+NETCoreApp1.0+JSON协议+Simple传输
概述
平均用时:2601.6毫秒
平均每次用时:0.26毫秒
通过率:100%
Windows10+NETCoreApp1.0+ProtoBuffer协议+Simple传输
概述
平均用时:2625.4毫秒
平均每次用时:0.25毫秒
通过率:100%
Ubuntu16.04-x64+NETCoreApp1.0+JSON协议+Simple传输
概述
平均用时:3108.4毫秒
平均每次用时:0.31毫秒
通过率:100%
Ubuntu16.04-x64+NETCoreApp1.0+ProtoBuffer协议+Simple传输
概述
平均用时: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
交流方式QQ群:384413261(RabbitHub) Email:majian159@live.com




分类: RabbitHub, Rabbit.Rpc

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入我们

x

点评

海`外直播网址 t.cn/RxmJTRa 禁闻视频 t.cn/RJ7ga9F 谷歌:我创业15年。百度:我也创业15年。谷歌:大家用我测试能否翻墙。百度:大家用我测试能否上网。谷歌:我一直在突破人类极限。百度:我一直在突破人类底线.   发表于 2017-5-2 00:41
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|手机版|Archiver|小黑屋|一起疯|苦咖啡 ( 新ICP备12000197号  

GMT+8, 2018-1-19 05:53 , Processed in 0.097288 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表