劉勇 中國電信股份有限公司五峰分公司
視頻點(diǎn)播應(yīng)用規(guī)模的增長,用戶對網(wǎng)絡(luò)實(shí)時數(shù)據(jù)服務(wù)的要求不斷地提高,集群技術(shù)的發(fā)展正好為此提供了良好的運(yùn)行平臺。利用集群架構(gòu)的系統(tǒng),不僅可提供流媒體的服務(wù),對其稍加修改,即可承載其它的服務(wù),具有一定的通用性。筆者認(rèn)為,負(fù)載均衡集群是目前應(yīng)用最廣泛的是集群技術(shù),主要有LVS/NAT、LVS/TUN、LVS/DR等三種配置實(shí)現(xiàn)方式:
Director機(jī)器收到外界請求,改寫數(shù)據(jù)包的目標(biāo)地址,按相應(yīng)的調(diào)度算法將其發(fā)送到相應(yīng)Real Server上,Real Server處理完該請求后,將結(jié)果數(shù)據(jù)包返回到其默認(rèn)網(wǎng)關(guān),即Director機(jī)器上,Director機(jī)器再改寫數(shù)據(jù)包的源地址,最后將其返回給外界。這樣就完成一次負(fù)載調(diào)度。
Real Server可以是任何的操作系統(tǒng),且無需做任何特殊的設(shè)定,只需將其默認(rèn)網(wǎng)關(guān)指向Director機(jī)器。Real Server可使用局域網(wǎng)的內(nèi)部IP(192.168.0.0/24)。Director需兩塊網(wǎng)卡,一塊網(wǎng)卡綁定一個外部IP地址 (10.0.0.1),另一塊網(wǎng)卡綁定局域網(wǎng)的內(nèi)部IP(192.168.0.254),作為Real Server的默認(rèn)網(wǎng)關(guān)。
可以看出,LVS/NAT方式實(shí)現(xiàn)起來最為簡單,且Real Server使用的是內(nèi)部IP,可以節(jié)省Real IP的開銷。但因執(zhí)行NAT需要重寫流經(jīng)Director的數(shù)據(jù)包,在速度上有一定延遲;另外,當(dāng)用戶的請求非常短,而服務(wù)器的回應(yīng)非常大的情況下,會對Director形成很大壓力,成為新的瓶頸,從而使整個系統(tǒng)的性能受到限制。
Director機(jī)器收到外界請求,按相應(yīng)的調(diào)度算法將其通過IP隧道發(fā)送到相應(yīng)Real Server,Real Server處理完該請求后,將結(jié)果數(shù)據(jù)包直接返回給客戶。至此完成一次負(fù)載調(diào)度。
LVS/TUN 使用IP Tunneling技術(shù),在Director機(jī)器和Real Server機(jī)器之間架設(shè)一個IP Tunnel,通過IP Tunnel將負(fù)載分配到Real Server機(jī)器上。Director和Real Server之間的關(guān)系比較松散,只要兩者能夠通過IP Tunnel相連就行。收到負(fù)載分配的Real Server機(jī)器處理完后會直接將反饋數(shù)據(jù)送回給客戶,而不必通過Director機(jī)器。實(shí)際應(yīng)用中,服務(wù)器必須擁有正式的IP地址用于與客戶機(jī)直接通信,并且所有服務(wù)器必須支持IP隧道協(xié)議。
這樣Director就只處理客戶機(jī)與服務(wù)器的一半連接,極大地提高了Director的調(diào)度處理能力,使集群系統(tǒng)能容納更多的節(jié)點(diǎn)數(shù)。另外TUN方式中的Real Server可以在任何LAN或WAN上運(yùn)行,這樣可以構(gòu)筑跨地域的集群,其應(yīng)對災(zāi)難的能力也更強(qiáng),但是服務(wù)器需要為IP封裝付出一定的資源開銷,而且后端的Real Server必須是支持IP Tunneling的操作系統(tǒng)
Director機(jī)器收到外界請求,按相應(yīng)的調(diào)度算法將其直接發(fā)送到相應(yīng)Real Server,Real Server處理完該請求后,將結(jié)果數(shù)據(jù)包直接返回給客戶,完成一次負(fù)載調(diào)度。
Real Server和Director都在同一個物理網(wǎng)段中,Director的網(wǎng)卡IP是192.168.0.253,再綁定另一個IP: 192.168.0.254作為對外界的virtual IP,外界客戶通過該IP來訪問整個集群系統(tǒng)。Real Server在lo上綁定IP:192.168.0.254,同時加入相應(yīng)的路由。
前臺的Director機(jī)器也是只需要接收和調(diào)度外界的請求,而不需要負(fù)責(zé)返回這些請求的反饋結(jié)果,所以能夠負(fù)載更多的Real Server,提高Director的調(diào)度處理能力,使集群系統(tǒng)容納更多的Real Server。但LVS/DR需要改寫請求報文的MAC地址,所以所有服務(wù)器必須在同一物理網(wǎng)段內(nèi)。
如何提供高效的并且可擴(kuò)展的流媒體服務(wù)已經(jīng)成為當(dāng)前網(wǎng)絡(luò)多媒體應(yīng)用研究的熱點(diǎn)。本文提出采用LVS負(fù)載均衡技術(shù), 實(shí)現(xiàn)架構(gòu)一個高性能、高可伸縮性、高可靠性的流媒體服務(wù)系統(tǒng)。
[1]Zhe Xiang , Qian Zhang.Peer-to-peer based Multimedia Distribution Service[J].IEEE Transactions on Multimedia special issue on streaming media, Volume 6, Issue 2, April 2004.
[2]逄棟.面向流媒體的應(yīng)用層組播原型系統(tǒng)的研究與實(shí)現(xiàn)[D].東南大學(xué)碩士學(xué)位論文,2006年3月.
[3] 用LVS構(gòu)架負(fù)載均衡Linux集群系統(tǒng) http://developer.ccidnet.com/art/737/20031112/70945_3.html[EB/OL]