国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

『開源』Slithice 2013 服務(wù)器集群 設(shè)計(jì)和源碼

2019-11-17 03:17:12
字體:
供稿:網(wǎng)友

『開源』Slithice 2013 服務(wù)器集群 設(shè)計(jì)和源碼

相關(guān)介紹文章:

『設(shè)計(jì)』Slithice 分布式架構(gòu)設(shè)計(jì)-支持一體式開發(fā),分布式發(fā)布》

『集群』001 Slithice 服務(wù)器集群 概述》

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

『集群』003 Slithice 最簡分布式(多個(gè)客戶端,一個(gè)獨(dú)立服務(wù)端)》

『集群』004 Slithice 集群分布式(多個(gè)客戶端,基于中央服務(wù)器的多個(gè)集群服務(wù)端)》

『集群』005 Slithice 基于 集群 的 自動(dòng)容錯(cuò)》

『集群』006 Slithice 后期改進(jìn) 和 Slithice可能存在的BUG》

『集群』007 如何測試Slithice源代碼》

版本庫:

Slithice是做什么的

Slithice是一個(gè) 跨平臺(tái) 的 分布式架構(gòu) 框架;

旨在簡化 分布式開發(fā) 的開發(fā)難度,節(jié)省 開發(fā)成本 和 后期維護(hù)成本;

并提供 穩(wěn)定 的分布式容錯(cuò)機(jī)制;

其 界面化的集群配置,一體式開發(fā)&分布式發(fā)布,插件覆蓋,容錯(cuò)調(diào)度 是Slithice最大的亮點(diǎn);

Slithice提供 任意 程序集,任意命名空間,任意類名 的 擴(kuò)展,包括:

配置數(shù)據(jù)獲取方式的擴(kuò)展(從 什么地方 找尋 服務(wù)器配置數(shù)據(jù));

調(diào)度方式的擴(kuò)展(比如WCF,Socket,WebService等);

功能插件的擴(kuò)展(這個(gè)就是 最重要的了);

Ps. Slithice并非 只 針對(duì) 集群服務(wù)器,同時(shí)Slithice也支持 最簡單的 一個(gè)服務(wù)端&多個(gè)客戶端 的 最簡分布式;

Slithice名字的由來

Slithice是DotA故事中,娜迦海妖 的名字 —— 只是因?yàn)?半年前 練習(xí) 小娜迦,所以 才 選取了這個(gè)名字;

Slithice的版本演化

之前時(shí)間,Slithice的 架構(gòu)設(shè)想 閃現(xiàn)于腦海,于是 整理了最簡單的 設(shè)計(jì)手稿 和 實(shí)現(xiàn)目標(biāo)

2013-02-10PRoject版本庫正式動(dòng)工 取名Slithice 2013累計(jì)耗時(shí)20小時(shí),完成 先行版Demo;

2013-06-10Laura版本庫 項(xiàng)目遷移 維持原名累計(jì)耗時(shí)60小時(shí),完成 現(xiàn)在版本;

Slithice的目標(biāo)

Slithice的 基本目標(biāo) 就是 簡化 集群分布式 開發(fā);

Slithice的 終極目標(biāo) 就是 跨平臺(tái):

服務(wù)端 可以用.Net、java等開發(fā);

客戶端 可以用.Net-PC、.Net-WinCE、.Net-WinPhone、Java、Android、iphone等開發(fā);

—— 想必,這是 極好的;

順帶提一下Slithice的序列化

Slithice支持.Net自帶的序列化(不能跨WinCE等平臺(tái)) 和Laura.Serialization序列化 —— 沒有使用架構(gòu);

Laura.Serialization是 作者順手 累計(jì)30小時(shí) 完成的 一個(gè) 序列化算法;

Laura.Serialization支持.Net-PC、.Net-WinCE兩個(gè)平臺(tái);

Laura.Serialization序列化的byte[]結(jié)構(gòu)分為:類型區(qū),數(shù)據(jù)區(qū),結(jié)構(gòu)區(qū)

Laura.Serialization設(shè)計(jì)思想,只要對(duì) 類型區(qū) 進(jìn)行控制:基本就能實(shí)現(xiàn) 跨Java,Android等 其他平臺(tái);

Laura.Serialization作者順手5小時(shí),寫了一個(gè)Json序列化算法(用 字符串 跨平臺(tái) 顯得容易很多)

Slithice集群配置工具 主界面

在測試Slithice的Demo中,我配置了7個(gè)服務(wù)端:

一個(gè)WCF的 中央服務(wù)端;

兩個(gè)WCF的 成員服務(wù)端(私有–前面有一個(gè)棕色皮包的圖標(biāo));

兩個(gè)Socket的 成員服務(wù)端;

兩個(gè)WebService的 成員服務(wù)端;

Slithice集群配置工具 配置界面

配置界面.jpg

我們看到的是WebService_002的 配置

>藍(lán)色區(qū)域 里面的 是 當(dāng)前服務(wù)端 自己可以處理的Action;

>紅色區(qū)域 里面的 是 當(dāng)前服務(wù)端 自己不能處理,但是 可以 調(diào)度出去的Action;

>紫色區(qū)域 里面的 是 當(dāng)前服務(wù)器 可以調(diào)度 的 子服務(wù)器(就是 兩個(gè)WCF服務(wù));

>按照Slithice的設(shè)計(jì)思想:能夠自己處理的任務(wù),除了強(qiáng)制指定任務(wù)的服務(wù)器外,基本都會(huì)自己處理,自己處理不了的,才會(huì)進(jìn)行調(diào)度;

上面 展示的 是WebService_002可以調(diào)度 出去的Action;

>TestAction_001、TestAction_002兩個(gè) 子服務(wù)器 都可以 調(diào)度;

>TestAction_1_001、TestAction_1_002只有ConsoleWCFService_001可以調(diào)度;

>這里,做了一個(gè)BUG配置:我們將Slithice_ResetService(重置服務(wù)器) 的功能 沒有 勾選為自己處理,結(jié)果 重置服務(wù)器 的功能 也將會(huì) 被調(diào)度;(Slithice內(nèi)置的Action插件 并沒有 特權(quán))

>調(diào)度幾率:在配置 服務(wù)端 時(shí)候,可以按照 服務(wù)端 所在的 硬件設(shè)備 的處理能力 設(shè)置 這個(gè)值,默認(rèn)100000;當(dāng) 對(duì)一個(gè) 服務(wù)端的 調(diào)度 出現(xiàn)錯(cuò)誤時(shí),該值 會(huì)-1,調(diào)度成功時(shí),該值 會(huì)+1—— 調(diào)度幾率,決定了 同一個(gè)任務(wù)可以多個(gè)調(diào)度 時(shí)的 調(diào)度幾率;

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

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

>ConsoleCenterService 具有 幾個(gè) 自定義Action;

>其中,TestAction_Center_001 有兩個(gè)版本, 他們是 同鍵值的,但是 最終被啟用 的是優(yōu)先級(jí) 更高的 100010;

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 射洪县| 宁陕县| 盘山县| 宿松县| 荔浦县| 旬邑县| 宜良县| 修文县| 黎平县| 台湾省| 都江堰市| 抚顺市| 外汇| 宜阳县| 台江县| 井研县| 宜兰县| 青河县| 塘沽区| 安丘市| 全椒县| 蒙城县| 武穴市| 任丘市| 会理县| 北碚区| 贡觉县| 达孜县| 嘉祥县| 罗田县| 海城市| 桦川县| 页游| 久治县| 平南县| 灵山县| 滕州市| 乌海市| 深水埗区| 苍溪县| 边坝县|