
圖1 推薦的手游架構(gòu)圖
在設(shè)計(jì)這樣的手游架構(gòu)時(shí),我們重點(diǎn)考慮的幾個(gè)方面如下:
負(fù)載均衡器 :
使用商業(yè)硬件實(shí)現(xiàn)。采用商業(yè)硬件的負(fù)載均衡可以最大程度的保障業(yè)務(wù)穩(wěn)定性。
使用雙機(jī)熱備(HA),規(guī)避單點(diǎn)故障。
使用NAT模式。在手游架構(gòu)中,實(shí)際負(fù)責(zé)游戲邏輯的Web服務(wù)器組和玩家之間的數(shù)據(jù)流量,一般不大。根據(jù)我們的經(jīng)驗(yàn),在5萬(wàn)人同時(shí)在線的手游,帶寬使用800Mbs左右。使用NAT模式的負(fù)載均衡方案完全可以滿足需求;同時(shí)對(duì)于Web服務(wù)器來(lái)說(shuō),不需要配置外網(wǎng)IP,節(jié)省IP費(fèi)用及提高安全性。
雙上聯(lián)的鏈接方式 :
負(fù)載均衡器和核心交換機(jī)使用雙上聯(lián),避免單一核心交換機(jī)故障導(dǎo)致的網(wǎng)絡(luò)中斷。
接入層交換機(jī)接入核心交換機(jī)時(shí),采用雙上聯(lián),并且做PortChannel,保障雙鏈路可用的情況下,同時(shí)提高吞吐量。
Web服務(wù)器組
:
配置高頻CPU。作為手游邏輯的主要處理單元,Web服務(wù)器往往執(zhí)行大量的CPU運(yùn)算,比如玩家攻擊能力計(jì)算、攻擊效果計(jì)算等。
Memcached服務(wù)器組
?。?/p>
這個(gè)服務(wù)組的作用一般包括預(yù)加載配置項(xiàng)以及緩存數(shù)據(jù)庫(kù)查詢結(jié)果等。使用Memcached提供的高效內(nèi)存緩存,可以提高響應(yīng)速度。
數(shù)據(jù)庫(kù)服務(wù)器組
?。簽橛螒驍?shù)據(jù)提供持久存儲(chǔ)。
在這樣的架構(gòu)設(shè)計(jì)中,體現(xiàn)手游運(yùn)維對(duì)于高可用性、安全性、高性能的要求。在運(yùn)維人員設(shè)計(jì)相關(guān)規(guī)劃時(shí),可以參考該架構(gòu)進(jìn)行實(shí)施。
最佳實(shí)踐:手游容量規(guī)劃
如上文所說(shuō),手游相對(duì)于端游的生命周期更短,因而留給運(yùn)維人員的準(zhǔn)備時(shí)間也就更少。這就要求我們?cè)诙虝r(shí)間內(nèi)對(duì)手游運(yùn)營(yíng)需要的各種資源規(guī)劃到位,手游容量規(guī)劃是一個(gè)必不可少的環(huán)節(jié)。
容量規(guī)劃(Capacity Planning),是指在系統(tǒng)上線前或系統(tǒng)運(yùn)營(yíng)過(guò)程中,通過(guò)分析業(yè)務(wù)走向,對(duì)系統(tǒng)需要的各種網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)資源進(jìn)行提前規(guī)劃和準(zhǔn)備。目的是在這種業(yè)務(wù)變化時(shí),系統(tǒng)承載能力可以隨著要求變化進(jìn)行靈活的應(yīng)對(duì)。
多線機(jī)房的選擇
為了用戶在3G、4G、WIFI(中國(guó)電信接入、中國(guó)聯(lián)通接入、中國(guó)移動(dòng)固網(wǎng)接入)等終端網(wǎng)絡(luò)切換時(shí)得到良好的游戲體驗(yàn),手游服務(wù)器需要部署在多線機(jī)房,由此可以很好的滿足用戶多種方式上網(wǎng)的需求。
如下圖所示是我們某個(gè)手游玩家按照ISP來(lái)源的分布情況:

圖2 手游玩家ISP分布
由上圖,也驗(yàn)證了我們必須把服務(wù)器部署在多線機(jī)房,以滿足不同接入的手游玩家。
多線機(jī)房的實(shí)現(xiàn)原理和特點(diǎn)如下:
多條光纜:數(shù)據(jù)中心為適應(yīng)不同用戶對(duì)不同網(wǎng)絡(luò)訪問(wèn)量的不同需求,采用多條高帶寬(例如40G)光纖鏈路連接到Internet。
10G出口帶寬:連接到中國(guó)電信、中國(guó)聯(lián)通的出口帶寬均超過(guò)10G以上。
BGP4收取路由:各條鏈路均采用BGP4收取路由,并進(jìn)行相應(yīng)的策略設(shè)置,保證用戶訪問(wèn)不同網(wǎng)絡(luò)的訪問(wèn)速度。
各條出口互為備份:在其中一條鏈路出現(xiàn)故障的時(shí)候,所有流量通過(guò)其他鏈路出入,不會(huì)出現(xiàn)單鏈路故障,提高了可靠性。
突破限制:突破了ISP出口受中國(guó)電信和中國(guó)聯(lián)通互連帶寬瓶頸及訪問(wèn)國(guó)際網(wǎng)站的限制。
高速Internet接入、冗余的網(wǎng)絡(luò)和帶寬管理系統(tǒng)保證接入帶寬可根據(jù)用戶流量的需求隨時(shí)擴(kuò)充,充分滿足用戶日益增長(zhǎng)的網(wǎng)絡(luò)應(yīng)用需求。
在選擇和對(duì)比多個(gè)多線機(jī)房時(shí),機(jī)房的冗余帶寬、對(duì)抗DDOS攻擊的能力,是評(píng)估的2個(gè)最重要方面。高冗余帶寬(10G以上)、高抗DDOS能力(20G以上),是我們傾向的選擇。
網(wǎng)絡(luò)帶寬容量規(guī)劃
網(wǎng)絡(luò)帶寬規(guī)劃的數(shù)據(jù)來(lái)源主要有兩個(gè):一個(gè)是在小規(guī)模測(cè)試時(shí)收集到的玩家平均帶寬使用量,以kbps/每玩家計(jì)算;另一個(gè)是使用機(jī)器人(指能夠模擬玩家進(jìn)行游戲內(nèi)容測(cè)試的自動(dòng)化程序)測(cè)試時(shí)收集到的類似數(shù)據(jù)。
在進(jìn)行網(wǎng)絡(luò)帶寬規(guī)劃時(shí),需要對(duì)以下三個(gè)方面的內(nèi)容分別進(jìn)行評(píng)估:
正常流量規(guī)劃。評(píng)估方法是根據(jù)玩家在正常進(jìn)行游戲時(shí),每玩家?guī)捠褂昧颗c預(yù)估的同時(shí)在線人數(shù)的乘積。