www.shuxiaolong.com 网站已经升级, 最新网址 请关注 www.ink-fx.com
Slithice 2013 服务器集群
命名空间:
Slithice
项目名称:
Slithice 2013 服务器集群
项目作者:
ShuXiaolong
权利所有:
ShuXiaolong
项目时间:
2014-03-11 11:18:07
阅读评论:
2/3785
项目相册:
在线开源:
附件下载:
13.31 MB
下载 1787次
项目简介:
Slithice 是一个 跨平台 的 分布式架构 框架; 旨在简化 分布式开发 的开发难度,节省 开发成本 和 后期维护成本; 并提供 稳定 的分布式容错机制; 其 界面化的集群配置,一体式开发&分布式发布,插件覆盖,容错调度 是 Slithice 最大的亮点; Slithice 提供 任意 程序集,任意命名空间,任意类名 的 扩展,包括: 配置数据获取方式的扩展(从 什么地方 找寻 服务器配置数据); 调度方式的扩展(比如WCF,Socket,WebService等); 功能插件的扩展(这个就是 最重要的了); 【Ps. Slithice 并非 只 针对 集群服务器,同时 Slithice 也支持 最简单的 一个服务端&多个客户端 的 最简分布式;】

相关介绍文章:

『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布

『集群』001 Slithice 服务器集群 概述

『集群』002 Slithice 集群配置工具 的使用

『集群』003 Slithice 最简分布式(多个客户端,一个独立服务端)

『集群』004 Slithice 集群分布式(多个客户端,基于中央服务器的多个集群服务端)

『集群』005 Slithice 基于 集群 的 自动容错

『集群』006 Slithice 后期改进 和 Slithice可能存在的BUG

『集群』007 如何测试Slithice源代码

 

 版本库:

 

Slithice是做什么的

Slithice 是一个 跨平台 的 分布式架构 框架;

旨在简化 分布式开发 的开发难度,节省 开发成本 和 后期维护成本;

并提供 稳定 的分布式容错机制;

其 界面化的集群配置,一体式开发&分布式发布,插件覆盖,容错调度 是 Slithice 最大的亮点;

Slithice 提供 任意 程序集,任意命名空间,任意类名 的 扩展,包括:

配置数据获取方式的扩展(从 什么地方 找寻 服务器配置数据);

调度方式的扩展(比如WCFSocketWebService等);

功能插件的扩展(这个就是 最重要的了);

Ps. Slithice 并非 只 针对 集群服务器,同时 Slithice 也支持 最简单的 一个服务端&多个客户端 的 最简分布式;

 

Slithice名字的由来

Slithice  DotA 故事中,娜迦海妖 的名字 —— 只是因为 半年前 练习 小娜迦,所以 才 选取了这个名字;

 

Slithice的版本演化

之前时间,Slithice 的 架构设想 闪现于脑海,于是 整理了最简单的 设计手稿 和 实现目标

2013-02-10    Project版本库    正式动工     取名 Slithice 2013     累计耗时20小时,完成 先行版 Demo

2013-06-10    Laura版本库      项目迁移     维持原名                  累计耗时60小时,完成 现在版本;

 

Slithice的目标

Slithice 的 基本目标 就是 简化 集群分布式 开发;

Slithice 的 终极目标 就是 跨平台:

服务端 可以用 .NetJava 等开发;

客户端 可以用 .Net-PC.Net-WinCE.Net-WinPhoneJavaAndroidIPhone 等开发;

—— 想必,这是 极好的;

 

顺带提一下 Slithice 的序列化

Slithice 支持 .Net 自带的序列化(不能跨WinCE等平台) 和 Laura.Serialization 序列化 —— 没有使用架构;

Laura.Serialization 是 作者顺手 累计 30小时 完成的 一个 序列化算法;

       Laura.Serialization 支持 .Net-PC.Net-WinCE 两个平台;

       Laura.Serialization 序列化的 byte[] 结构分为:类型区,数据区,结构区

       Laura.Serialization 设计思想,只要对 类型区 进行控制:基本就能实现 跨 JavaAndroid 等 其他平台;

       Laura.Serialization 作者顺手 5小时,写了一个 Json 序列化算法(用 字符串 跨平台 显得容易很多)

 

Slithice集群配置工具 主界面

在测试 Slithice  Demo 中,我配置了 7个服务端:

一个 WCF 的 中央服务端;

两个 WCF 的 成员服务端(私有 – 前面有一个棕色皮包的图标);

两个 Socket 的 成员服务端;

两个 WebService 的 成员服务端;

 

Slithice集群配置工具 配置界面

配置界面.jpg

我们看到的是 WebService_002 的 配置

>蓝色区域 里面的 是 当前服务端 自己可以处理的 Action

       >红色区域 里面的 是 当前服务端 自己不能处理,但是 可以 调度出去的 Action

       >紫色区域 里面的 是 当前服务器 可以调度 的 子服务器(就是 两个 WCF 服务);

       >按照 Slithice 的设计思想:能够自己处理的任务,除了强制指定任务的服务器外,基本都会自己处理,自己处理不了的,才会进行调度;

 

上面 展示的 是 WebService_002 可以调度 出去的 Action

>TestAction_001TestAction_002 两个 子服务器 都可以 调度;

>TestAction_1_001TestAction_1_002 只有 ConsoleWCFService_001 可以调度;

>这里,做了一个 BUG配置:我们将 Slithice_ResetService(重置服务器) 的功能 没有 勾选为自己处理,结果 重置服务器 的功能 也将会 被调度;(Slithice 内置的 Action插件 并没有 特权)

       >调度几率:在配置 服务端 时候,可以按照 服务端 所在的 硬件设备 的处理能力 设置 这个值,默认 100000;当 对一个 服务端的 调度 出现错误时,该值 会 -1,调度成功时,该值 会 +1 —— 调度几率,决定了 同一个任务可以多个调度 时的 调度几率;

 

Slithice集群配置工具 插件覆盖界面

上面 展示的 是 插件覆盖界面;

>ConsoleCenterService 具有 几个 自定义Action

>其中,TestAction_Center_001 有两个版本, 他们是 同键值的,但是 最终被启用 的是优先级 更高的 100010

>插件 优先级 的设置,为了 避免问题,可以 使用 yyMMddHH 这种模式;

>Slithice 内置 Action 是没有特权的:Slithice内置Action 也是可以被覆盖的 —— 当然,还是有 多少 的 特殊处理:

Slithice 内置 Action 优先级 最大值可以是 Int64.MaxValue

              自定义 Action 优先级 最大值可以是 Int32.MaxValue

 

Slithice集群配置工具 单元测试界面

上面 展示的 是 单元测试界面;

       >因为 时间比较急,所以 插件执行时需要的参数 这个功能 并没有实现;

       >因为 时间比较急,所以 插件测试的是 服务端本地固有Action 的 测试,并不包括 服务端 可调度 的 Action 测试;

       >因为 时间比较急,所以 性能压力 测试 的功能 并没有实现;


Slithice 是开源的

Slithice 的 作者 是 舒小龙;

Slithice 是开源的,任何 企业 或 个人 都可以 无偿 用于 商业 或 非商业 用途;

当然,作者希望 各位 能在 舒小龙 的 个人博客 或者 博客园 回复一哈:使用者名称+软件名称+邮箱(可选)

为什么要开源:

北京公司,在 抽烟室 和 马瑞礼(马哥) 聊天中,就聊到了这个话题,当时 马哥的回答 让自己 有所顿悟:

今天自己的代码 比起 几年前 成长了不少,当初的 王牌代码 在今天也 不过如此

—— 未来几年后,今天的代码 或许 在未来 也只是 “不过如此”;

所在的 角度 和 高度 在 提升,思想也就不一样 吧;

 

最最重要的是:王牌代码 给不了 一个人 未来,能成就一个人未来的 是 合作共赢 的力量;

Ps. 感谢那段时间 马哥 那次关于“开源”的讨论,也感谢那段时间 马哥 在人生 道路上 对我的 各种指点,还有那次的宽容,收益很深;

 
 

                                                                                                               舒小龙

                                                                                                       2014-03-13 01:34


 

评论回复
共有:2 条评论信息
chen [115.226.*.174]  2014-03-26 09:26:10 评论道:
支持 谢谢大神
qqqqqq [222.65.*.61]  2014-03-20 15:28:12 评论道:

发表评论

点击刷新