分布式多级服务器架构设计构思
基礎(chǔ)分析
數(shù)據(jù)通道
- Web Http通道
- Web ZMQ 通道
- C# ZQM req-rep 通道
- C# ZMQ sub-pub 通道
- Java ZQM req-rep 通道
- Java ZMQ sub-pub 通道
- UDP 音頻流通道
無中心多級分布式服務(wù)器
元數(shù)據(jù)
- Mysql 靜態(tài)數(shù)據(jù)
- Mysql 動態(tài)數(shù)據(jù)(設(shè)備狀態(tài)和會話狀態(tài))
- 媒體庫數(shù)據(jù)(mp3與錄音文件)
- 終端實時狀態(tài)與會話實時狀態(tài)
授權(quán)機制
分布式節(jié)點授權(quán)規(guī)范
- 每個子節(jié)點相互獨立, 子節(jié)點為一個完整的服務(wù)器,其正常運行不依賴其他節(jié)點.
- 每個子節(jié)點之間代碼實現(xiàn)層上完全對等, 由數(shù)據(jù)庫配置數(shù)據(jù),決定其主從關(guān)系.
- 父節(jié)點自然擁有子節(jié)點的授權(quán)訪問,簡稱授權(quán)感染性
- 父節(jié)點需要數(shù)據(jù)庫中配置IP , 授權(quán)賬戶和密碼遠程登陸到子節(jié)點后方能訪問子節(jié)點數(shù)據(jù)
授權(quán)用例
獨立性
- A,B1,B2,C1,C2,C3,C4節(jié)點均為一臺完整的服務(wù)器, 其他任意一臺服務(wù)器崩潰或者斷點均不影響其他服務(wù)器獨立正常工作
授權(quán)訪問
- 每個節(jié)點均需要配置授權(quán)賬戶和密碼后才能運行其他節(jié)點訪問. 授權(quán)賬戶與客戶端登陸賬戶不同.
若節(jié)點未配置授權(quán)信息,則任何節(jié)點都無法直接訪問該節(jié)點 - 節(jié)點A 若想訪問節(jié)點C4, 需要擁有C4的授權(quán)賬戶和密碼驗證后才能完成登陸
感染性訪問
- B2擁有C3,C4的授權(quán)訪問, 若A 擁有B2的授權(quán)訪問, 則A將同時擁有B2,C3,C4的授權(quán)訪問信息
線性化訪問
若A擁有B1,B2的授權(quán)訪問, B1擁有C1,C2的授權(quán), B2擁有C3,C4的授權(quán)訪問, 那么A將擁有B1,B2,C1,C2,C3,C4各個節(jié)點的訪問權(quán)限. A對子節(jié)點B1的訪問與孫節(jié)點C3的訪問流程完全一致
客戶端跨節(jié)點訪問
數(shù)據(jù)通道
- C# ZQM req-rep 通道
- C# ZMQ sub-pub 通道
- UDP 音頻流通道
場景假設(shè)
A 擁有B1,B2的授權(quán)訪問. A上的客戶端向播放音樂到B1,B2節(jié)點的硬件終端上
跨區(qū)訪問的差異
- 跨區(qū)訪問音頻流通道將音頻流直接推送值目標(biāo)子節(jié)點B1,B2,數(shù)據(jù)不經(jīng)過自身服務(wù)器中轉(zhuǎn)
- 客戶端的訂閱通道將A節(jié)點上的java服務(wù)器代理訂閱跨區(qū)的B1,B2子節(jié)點服務(wù)器信息. 客戶端通過訂閱A節(jié)點上的另外一個通道(端口號不一致)獲取數(shù)據(jù)
- 客戶端需向A節(jié)點發(fā)送對B1,B2的請求, 需在客戶端上做特殊標(biāo)志處為跨區(qū)請求. 跨區(qū)請求目標(biāo)位為A節(jié)點. 由A節(jié)點代理向跨區(qū)節(jié)點轉(zhuǎn)發(fā)請求到B1,B2.
Web跨節(jié)點訪問
場景假設(shè)
- B2擁有C3,C4的授權(quán)訪問, B2上將獲得C3’,C4’的鏡像數(shù)據(jù)庫. B2上的web想修改C3,C4
訪問機制
- web將直接訪問B2服務(wù)器上的C3’,C4’鏡像服務(wù)器,查詢相關(guān)配置信息
- web對C3’,C4’數(shù)據(jù)庫的修改,將由B2上的JAVA服務(wù)器將 SQL修改請求推送至目標(biāo)子節(jié)點上,并執(zhí)行數(shù)據(jù)庫操作
- 修改后的C3’,C4’數(shù)據(jù)庫將有C3,C4負責(zé)更新
數(shù)據(jù)跨節(jié)點同步
- 若A獲得了C1,C3的授權(quán)訪問, A將C1,C3上的數(shù)據(jù)庫采用主從同步的方式,將A節(jié)點上C1’ , C3’數(shù)據(jù)庫鏡像同步至最新. 并且將C1,C3上的媒體庫自動同步更新到A節(jié)點上
困難點
- 數(shù)據(jù)庫的主從同步
- 文件服務(wù)器同步
- 同步延時性問題
終端廣播與對講跨區(qū)訪問
場景假設(shè)
A擁有C1, C3節(jié)點的授權(quán)訪問. A節(jié)點上一終端D想要廣播音頻至C1,C3 節(jié)點
訪問機制
- A節(jié)點將代理向C1,C3節(jié)點查詢是否可以執(zhí)行廣播
- 若請求成功, 則分別在A, C1,C3服務(wù)器上建立會話通道, 將D終端的上的音頻由A節(jié)點轉(zhuǎn)發(fā)至C1,C3
- 若A節(jié)點或者其子節(jié)點上的會話刪除, 則會話將中斷
備注: 廣播對講僅支持父節(jié)點想子節(jié)點申請對講
報警風(fēng)暴
場景假設(shè)
A 擁有B1,B2,C1,C2,C3,C4節(jié)點的訪問權(quán)限. 且A節(jié)點中設(shè)置了全區(qū)報警機制. 若A節(jié)點上一報警終端被觸發(fā).則B1,B2,C1,C2,C3,C4中均需建立會話, 播放報警
訪問機制
- A節(jié)點將分別向B1,B2,C1,C2,C3,C4發(fā)送報警音頻播放請求, 若請求成功,A節(jié)點除需要將A節(jié)點上的終端推送音頻外, 還需要分別向B1,B2,C1,C2,C3,C4節(jié)點服務(wù)器推送音頻.
- 子節(jié)點服務(wù)器接受到音頻流之后, 再更加路由表推送至各個硬件終端
總結(jié)
此類多級分布式方案為無中心分布式.每個節(jié)點之間協(xié)商自洽處理相應(yīng)的隸屬邏輯.
缺點:
- 各個節(jié)點之間的隸屬關(guān)系缺乏統(tǒng)一服務(wù)調(diào)度管理,容易形成環(huán)形閉環(huán)
- 多級關(guān)系復(fù)雜
星型模型多級分布式模型
為解決無中心多級分布式服務(wù)器管理混亂的問題. 將多級的職責(zé)(各個節(jié)點之間的關(guān)系)交給中心調(diào)度服務(wù)進行統(tǒng)一管理. 將多級的概念轉(zhuǎn)換為 規(guī)則管理服務(wù)處理
待續(xù)
轉(zhuǎn)載需知
作者:蒼原獅嘯
QQ : 1902115681
總結(jié)
以上是生活随笔為你收集整理的分布式多级服务器架构设计构思的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业办公网安全问题及其解决方案
- 下一篇: 理解回调函数