Linux服務(wù)器集群系統(tǒng)之可伸縮媒體服務(wù)
Linux集群系統(tǒng)是當(dāng)代許多公司采用的解決方案,Linux集群通過(guò)多臺(tái)機(jī)器連接起來(lái),處理復(fù)雜的問(wèn)題??梢詫⑼瑯?gòu)或者異構(gòu)的計(jì)算機(jī)連接起來(lái),協(xié)同完成特定的任務(wù)。這樣就構(gòu)成了集群。LVS是Linux virtual server的縮寫(xiě),他的意思是Linux虛擬機(jī)服務(wù)。本文主要介紹的是基于Linux下的集群系統(tǒng)。
LVS的媒體集群:
基于LVS的媒體集群的體系結(jié)構(gòu)如圖3所示:***層是負(fù)載調(diào)度器,一般采用IP負(fù)載均衡技術(shù),可以使得整個(gè)系統(tǒng)有較高的吞吐率;第二層是Web服務(wù)器池,在每個(gè)結(jié)點(diǎn)上可以運(yùn)行相應(yīng)的媒體服務(wù);第三層是共享存儲(chǔ),通過(guò)網(wǎng)絡(luò)文件系統(tǒng)/分布式文件系統(tǒng)存儲(chǔ)媒體節(jié)目。集群中各結(jié)點(diǎn)是通過(guò)高速網(wǎng)絡(luò)相連接。
圖3:基于LVS的媒體集群
IPVS負(fù)載調(diào)度器一般使用直接路由方法(即VS/DR方法,將在以后文章中詳細(xì)敘述),來(lái)架構(gòu)媒體集群系統(tǒng)。調(diào)度器將媒體服務(wù)請(qǐng)求較均衡地分發(fā)到各個(gè)服務(wù)器上,而媒體服務(wù)器將響應(yīng)數(shù)據(jù)直接返回給客戶(hù),這樣可以使得整個(gè)媒體集群系統(tǒng)具有很好的伸縮性。
媒體服務(wù)器可以運(yùn)行各種媒體服務(wù)軟件。目前,LVS集群對(duì)于Real Media、Windows Media和Apple Quicktime媒體服務(wù)都有很好的支持,都有真實(shí)的系統(tǒng)在運(yùn)行。一般來(lái)說(shuō),流媒體服務(wù)都會(huì)使用一個(gè)TCP連接(如RTSP協(xié)議:Real-Time Streaming Protocol)進(jìn)行帶寬的協(xié)商和流速的控制,通過(guò)UDP將流數(shù)據(jù)返回客戶(hù)。這里,IPVS調(diào)度器提供功能將TCP和UDP集中考慮,保證來(lái)自同一客戶(hù)的媒體TCP和UDP連接會(huì)被轉(zhuǎn)發(fā)到集群中同一臺(tái)媒體服務(wù)器,使得媒體服務(wù)準(zhǔn)確無(wú)誤地進(jìn)行。
共享存儲(chǔ)是媒體集群系統(tǒng)中最關(guān)鍵的問(wèn)題,因?yàn)槊襟w文件往往非常大(一部片子需要幾百兆到幾千兆的存儲(chǔ)空間),這對(duì)存儲(chǔ)的容量和讀的速度有較高的要求。對(duì)于規(guī)模較小的媒體集群系統(tǒng),例如有3至6個(gè)媒體服務(wù)器結(jié)點(diǎn),存儲(chǔ)系統(tǒng)可以考慮用帶千兆網(wǎng)卡的Linux服務(wù)器,使用軟件RAID和日志型文件系統(tǒng),再運(yùn)行內(nèi)核的NFS服務(wù),會(huì)有不錯(cuò)的效果。對(duì)于規(guī)模較大的媒體集群系統(tǒng),***選擇對(duì)文件分段(File Stripping)存儲(chǔ)和文件緩存有較好支持的分布式文件系統(tǒng);媒體文件分段存儲(chǔ)在分布式文件系統(tǒng)的多個(gè)存儲(chǔ)結(jié)點(diǎn)上,可以提高文件系統(tǒng)的性能和存儲(chǔ)結(jié)點(diǎn)間的負(fù)載均衡;媒體文件在媒體服務(wù)器上自動(dòng)地被緩存,可提高文件的訪(fǎng)問(wèn)速度。否則,可以考慮自己在媒體服務(wù)器上開(kāi)發(fā)相應(yīng)的工具,如緩存工具能定時(shí)地統(tǒng)計(jì)出最近的熱點(diǎn)媒體文件,將熱點(diǎn)文件復(fù)制到本地硬盤(pán)上,并替換緩存中的非熱點(diǎn)文件,***通知其他媒體服務(wù)器結(jié)點(diǎn)它所緩存的媒體文件以及負(fù)載情況;在媒體服務(wù)器上有應(yīng)用層調(diào)度工具,它收到客戶(hù)的媒體服務(wù)請(qǐng)求,若所請(qǐng)求的媒體文件緩存在本地硬盤(pán)上,則直接轉(zhuǎn)給本地媒體服務(wù)進(jìn)程服務(wù),否則先考慮該文件是否被其他媒體服務(wù)器緩存;如該文件被其他服務(wù)器緩存并且該服務(wù)器不忙,則將請(qǐng)求轉(zhuǎn)給該服務(wù)器上的媒體服務(wù)進(jìn)程處理,否則直接轉(zhuǎn)給本地媒體服務(wù)進(jìn)程,從后端的共享存儲(chǔ)中讀出媒體文件。
共享存儲(chǔ)的好處是媒體文件的管理人員看到統(tǒng)一的存儲(chǔ)空間,使得媒體文件維護(hù)工作比較方便。當(dāng)客戶(hù)訪(fǎng)問(wèn)不斷增加使得整個(gè)系統(tǒng)超載時(shí),管理員可以很快地加入新的媒體服務(wù)器結(jié)點(diǎn)來(lái)處理請(qǐng)求。
Real公司以其高壓縮比的音頻視頻格式、Real媒體服務(wù)器和媒體播放器RealPlayer而聞名。Real公司正在使用以上結(jié)構(gòu)將由20多臺(tái)服務(wù)器組成的LVS可伸縮Web和媒體集群,為其全球用戶(hù)提供Web和音頻視頻服務(wù)。Real公司的高級(jí)技術(shù)主管聲稱(chēng)LVS擊敗所有他們嘗試過(guò)的商品化負(fù)載均衡產(chǎn)品[7]。
【編輯推薦】
- Linux集群原理與安裝配置匯總
- “懶惰”Linux集群管理員的11個(gè)秘訣
- 圖文詳解 文件柜內(nèi)DIY自己的Linux集群機(jī)
- 大型Linux集群的安裝節(jié)點(diǎn)和管理
- 大型Linux集群簡(jiǎn)介和硬件配置
- 高性能Linux集群基礎(chǔ)知識(shí)