Shuttler.Net-RPC/Memcached/IM框架开源发布
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始终在一块固定的内存区中进行,避免了内存泄漏问题。
总之里面更精彩!
Shuttler.Net核心组件Artery和Rpc结构图:
[url=file:///C:/Documents%20and%20Settings/Sunky/Local%20Settings/Temp/WindowsLiveWriter1488671154/supfilesE6CFD46/Shuttler.Net_Art%5B3%5D.gif]
[/url]
Rpc性能计数器相关(不同机器可能有出入):
Shuttler.Net开源主页:
http://shuttler.codeplex.com
源码(含Demo)下载地址:
Shuttler.Net
PS:这个框架是我花了无数个周末时间打造而成!尤其是Tcp流的包完整性解析,曾尝试了无数个算法! 对性能也进行了无数次调优!尽管如此还是不尽我意,那就先这样吧,我会使她一直进化下去。