在線游戲?yàn)楹吻嗖A云計(jì)算?揭秘手游云計(jì)算架構(gòu)部署
作者:佚名
面對(duì)游戲行業(yè)特點(diǎn)與挑戰(zhàn),基于云服務(wù)的架構(gòu)部署方式完全可以解決傳統(tǒng)架構(gòu)存在的問(wèn)題與隱患。阿里云的云服務(wù)器、RDS等產(chǎn)品的高可擴(kuò)展性能力幫助用戶(hù)實(shí)現(xiàn)動(dòng)態(tài)資源配置,以應(yīng)對(duì)業(yè)務(wù)的劇烈變化;負(fù)載均衡幫助用戶(hù)應(yīng)對(duì)高峰流量、單點(diǎn)故障,提升業(yè)務(wù)穩(wěn)定性;云盾、云監(jiān)控幫助用戶(hù)保護(hù)網(wǎng)絡(luò)與數(shù)據(jù)安全,抵御惡性競(jìng)爭(zhēng)的攻擊;多線BGP網(wǎng)絡(luò)、CDN幫助用戶(hù)在海量、高并發(fā)場(chǎng)景下維持業(yè)務(wù)的快速響應(yīng)。
在線游戲(主要指手游和頁(yè)游)具有鮮明的行業(yè)特點(diǎn)。首先,游戲開(kāi)發(fā)門(mén)檻較低,導(dǎo)致游戲數(shù)量急劇增長(zhǎng),玩家忠誠(chéng)度迅速降低,穩(wěn)定可靠的游戲服務(wù)能力成為游戲開(kāi)發(fā)與運(yùn)營(yíng)商的立身之本。其次,大多數(shù)游戲廠商獨(dú)立運(yùn)維的實(shí)力較小,隨著業(yè)務(wù)的井噴式發(fā)展,對(duì)動(dòng)態(tài)快速擴(kuò)展硬件資源的需求與日俱增。第三,對(duì)于相對(duì)熱門(mén)的游戲而言,一般都擁有海量玩家,亟需高并發(fā)、高負(fù)載的應(yīng)對(duì)措施與方案。第四,游戲開(kāi)發(fā)技術(shù)發(fā)展迅速,硬件日新月異,游戲畫(huà)質(zhì)與可玩性明顯改善,低響應(yīng)延遲是游戲體驗(yàn)的基本需求。最后,同業(yè)競(jìng)爭(zhēng)激烈,安全成為游戲,尤其是熱門(mén)游戲的命門(mén)。
在這種背景下,在線游戲行業(yè)面臨三個(gè)主要挑戰(zhàn):1)需要IT系統(tǒng)提供穩(wěn)定、安全、可靠的游戲服務(wù)能力,保證業(yè)務(wù)的高可用性;2)需要靈活、高可擴(kuò)展性的游戲架構(gòu)設(shè)計(jì),適應(yīng)業(yè)務(wù)發(fā)展的突發(fā)峰值訪問(wèn);3)海量用戶(hù)高并發(fā)場(chǎng)景下的低延遲響應(yīng)要求,以提供流暢的游戲體驗(yàn)。
應(yīng)對(duì)好這三個(gè)挑戰(zhàn),將為游戲廠商的成功提供堅(jiān)實(shí)的基礎(chǔ)與支撐。本文將從手游的角度討論合理的在線游戲后端平臺(tái)架構(gòu),并將引入手游行業(yè)的知名游戲大掌門(mén)應(yīng)用云計(jì)算的架構(gòu),幫助優(yōu)化已有的系統(tǒng)部署。
手游傳統(tǒng)架構(gòu)與云計(jì)算架構(gòu)對(duì)比
傳統(tǒng)手游架構(gòu)
在傳統(tǒng)手游構(gòu)設(shè)計(jì)中,有幾個(gè)可以改進(jìn)的地方。游戲運(yùn)行服務(wù)中,應(yīng)用部署在固定的服務(wù)器上,當(dāng)業(yè)務(wù)迅速變化時(shí),無(wú)法及時(shí)動(dòng)態(tài)調(diào)整資源來(lái)滿(mǎn)足;單臺(tái)云服務(wù)器上部署了游戲應(yīng)用的多個(gè)模塊,不符合松耦合的部署原則,且容易造成IO爭(zhēng)搶?zhuān)绊懽x寫(xiě)性能;在玩家游戲的高峰時(shí)段,游戲更新服務(wù)容易因數(shù)據(jù)分發(fā)延遲,形成瓶頸,影響用戶(hù)體驗(yàn);游戲更新服務(wù)中存在單點(diǎn)配置,一旦其中的一臺(tái)服務(wù)器宕機(jī),可能導(dǎo)致玩家無(wú)法更新而不能繼續(xù)游戲;對(duì)架構(gòu)全局缺少專(zhuān)門(mén)的監(jiān)控與報(bào)警機(jī)制,存在安全隱患。
大掌門(mén)游戲架構(gòu)圖
與傳統(tǒng)系統(tǒng)部署架構(gòu)相比,大掌門(mén)應(yīng)用云計(jì)算的架構(gòu)有以下特點(diǎn):
1)實(shí)現(xiàn)應(yīng)用的松耦合,將Web/應(yīng)用服務(wù)器與緩存、數(shù)據(jù)庫(kù)服務(wù)等模塊解耦,并物理隔離部署,這樣能夠?qū)崿F(xiàn)功能模塊的水平擴(kuò)展,同時(shí)也避免了云服務(wù)器上IO爭(zhēng)搶帶來(lái)的性能降低問(wèn)題。如上圖所示,Web Server、Cache Server及DB Server均各自分層,Web Server組成一個(gè)集群,通過(guò)負(fù)載均衡SLB對(duì)外提供服務(wù)。當(dāng)業(yè)務(wù)量迅速變化時(shí),可以通過(guò)API自動(dòng)動(dòng)態(tài)向上或向下擴(kuò)展集群中的云服務(wù)器數(shù)目。DB Server搭建主備集群,并定期冷備數(shù)據(jù)到本地或OSS存儲(chǔ)。用戶(hù)也可不必自己搭建緩存和數(shù)據(jù)庫(kù)服務(wù),而直接采用阿里云OCS和RDS,這樣可以簡(jiǎn)化系統(tǒng)架構(gòu)、降低運(yùn)維成本,并有更高的可靠性。
2)在關(guān)鍵路徑上,部署主備集群,通過(guò)負(fù)載均衡服務(wù)SLB分發(fā)并對(duì)外提供服務(wù),避免單點(diǎn)故障帶來(lái)的游戲不可用。游戲更新和運(yùn)行服務(wù)均體現(xiàn)了這一點(diǎn)。
3)游戲更新服務(wù)可基于阿里云CDN提供靜態(tài)文件分發(fā)的低延遲,若游戲中有大量臨時(shí)文件,包括地圖、靜態(tài)數(shù)據(jù)分發(fā)等,也可以考慮通過(guò)CDN來(lái)保證游戲體驗(yàn)。
4)在應(yīng)用部署的云服務(wù)器上,免費(fèi)開(kāi)通云盾及云監(jiān)控,保障游戲不受惡意攻擊及病毒、木馬等入侵,為游戲穩(wěn)定運(yùn)行提供保障。
綜上所述,面對(duì)游戲行業(yè)特點(diǎn)與挑戰(zhàn),基于云服務(wù)的架構(gòu)部署方式完全可以解決傳統(tǒng)架構(gòu)存在的問(wèn)題與隱患。阿里云的云服務(wù)器、RDS等產(chǎn)品的高可擴(kuò)展性能力幫助用戶(hù)實(shí)現(xiàn)動(dòng)態(tài)資源配置,以應(yīng)對(duì)業(yè)務(wù)的劇烈變化;負(fù)載均衡幫助用戶(hù)應(yīng)對(duì)高峰流量、單點(diǎn)故障,提升業(yè)務(wù)穩(wěn)定性;云盾、云監(jiān)控幫助用戶(hù)保護(hù)網(wǎng)絡(luò)與數(shù)據(jù)安全,抵御惡性競(jìng)爭(zhēng)的攻擊;多線BGP網(wǎng)絡(luò)、CDN幫助用戶(hù)在海量、高并發(fā)場(chǎng)景下維持業(yè)務(wù)的快速響應(yīng)。
基于以上的優(yōu)勢(shì),做游戲就用云計(jì)算開(kāi)始成為行業(yè)標(biāo)配,比如大掌門(mén)、瘋狂猜圖、小浣熊、游易網(wǎng)絡(luò)、躍兔、邊鋒等都是云計(jì)算的受益者,他們也將在2013阿里云開(kāi)發(fā)者大會(huì)上詳細(xì)展示如何完成“云中游戲”的。
責(zé)任編輯:鳶瑋
來(lái)源:
阿里云