[框架]Shuttler.Net2.0圣诞开源发布

转载:http://www.cnblogs.com/overred/archive/2009/12/20/Shuttler_Net_2.html

Shuttler.Net(开源)
Shuttler.Net是一个高性能分布式框架,如果你在使用老去的remoting,webservices分布式架构,或在使用新生的wcf,那么你也可以尝试下Shuttler.Net。
如果你想开发自己的IM服务端和客户端(或游戏大厅),你也可以使用Shuttler.Net,只需你制定报文协议即可,其他传输层Shuttler帮你搞定。
Shuttler.Net核心组件Artery正如她的名字一样:脉,基于Tcp的应用栈,可以帮你传输任何能量,使你想唱就唱。

主要功能点包括:
1,分布式RPC,目前支持Tcp和Http(类REST风格)双通道(见Demo:TcpRpcTest和HttpRpcTest):
可以多个RpcServer端和多个RpcClient端,其中client通过HashingAlgorithm根据Key计算出server。
2,分布式缓存系统(Memcached),包括MemcachedServer和MemcachedClient(见Demo:MemcachedTest):
可以多个MemcachedServer端和多个MemcachedClient端,其中client通过HashingAlgorithm根据Key计算出server。
3,IM协议栈,使用Shuttler.Net的Artery组件可以轻松实现一个IMServer端和IMClient端(见Demo:IMTest):
IMTest中实现IM的登录密码校验,通讯协议自己定义即可,协议Demo见Shuttler_Artery_Protocol。

其中Shuttler.Net使用内存Pool概念和Socket增强SocketAsyncEventArgs,使你的所有操作Buffer始终在一块固定的内存区中进行,避免了内存泄漏问题。
值得一提的是,里面还有一个高效的CompactHeap,使你可以在12s内把数亿条数据缓存到800MB内存中(根据sizeof大小而定),如果使用对象级的托管堆,你是难以办到的。
总之里面更精彩!

Shuttler.Net核心组件Artery和Rpc结构图:


Rpc性能计数器相关(不同机器可能有出入):

 

Shuttler.Net开源主页:

http://shuttler.codeplex.com

 

源码(含Demo)下载地址:
Shuttler.Net

 

PS:这个框架是我花了无数个周末时间打造而成!尤其是Tcp流的包完整性解析,曾尝试了无数个算法! 对性能也进行了无数次调优!尽管如此还是不尽我意,那就先这样吧,我会使她一直进化下去。

 

希望两块布子做的是花衣裳!

有问题请留言或联系:overred@gmail.com

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏