FO產(chǎn)品總體技術(shù)方案_第1頁
FO產(chǎn)品總體技術(shù)方案_第2頁
FO產(chǎn)品總體技術(shù)方案_第3頁
FO產(chǎn)品總體技術(shù)方案_第4頁
FO產(chǎn)品總體技術(shù)方案_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

FO產(chǎn)品總體技術(shù)方案擬制: 日期:審核: 日期:版本號:XXXV1.0騰訊科技(深圳)有限公司目錄目錄 1背景 2概述 范圍 引用標準 術(shù)語和定義 符號和縮略語 總體架構(gòu)設(shè)計 設(shè)計原則 產(chǎn)品關(guān)聯(lián)性原則 產(chǎn)品依賴原則 設(shè)計目標 路標規(guī)劃 系統(tǒng)需求 系統(tǒng)軟件需求 系統(tǒng)硬件需求 系統(tǒng)功能需求 系統(tǒng)性能需求 系統(tǒng)總體架構(gòu) 系統(tǒng)物理架構(gòu) 系統(tǒng)邏輯架構(gòu) 關(guān)鍵技術(shù)分析 業(yè)務(wù)模型分析 目標用戶 用戶入口 收費策略 產(chǎn)品依賴關(guān)系 典型業(yè)務(wù)過程 用戶模型分析 用戶基礎(chǔ)信息 用戶操作信息 用戶流量信息 系統(tǒng)模型分析 ClusterServer WorldServer Zoneserver 性能容量分析 Cluster設(shè)備和流量需求 World設(shè)備和流量要求 Zone設(shè)備和流量需求 雜項設(shè)備和流量需求 總計 負載均衡分析 負載均衡策略 異地分布策略 容災(zāi)備份分析 部署方案 風(fēng)險分析及規(guī)避措施 硬件故障 機器、磁盤故障 IDC線路故障和黑客攻擊 軟件故障 Dir服務(wù)器 mysal 狀態(tài)的轉(zhuǎn)移和恢復(fù) Zone服務(wù)器 Disp服務(wù)器 Log服務(wù)器 備選方案 1背景2概述2.1范圍2.2引用標準2.3術(shù)語和定義名詞解釋2.4符號和縮略語縮寫英文描述中文描述3總體架構(gòu)設(shè)計設(shè)計原則產(chǎn)品關(guān)聯(lián)性原則盡量保持產(chǎn)品的獨立性在與其他產(chǎn)品進行交互時僅提供必須的接口,以減少復(fù)雜度和錯誤發(fā)生的可能性。在與其他產(chǎn)品交互的時候都通過一個中間進程進行,以降低產(chǎn)品之間的耦合性與幻想關(guān)聯(lián)的產(chǎn)品主要是:QQ和Q幣支付系統(tǒng)。產(chǎn)品依賴原則盡可能重用公司內(nèi)部已有的模塊,以減少維護和開發(fā)的工作量。對于一些已有的產(chǎn)品,如果可以滿足需求,直接整合到產(chǎn)品包中。由于幻想的特殊情況,目前幻想除了下載服務(wù)器以外,未重用任何模塊或代碼。設(shè)計目標路標規(guī)劃階段開始時間完成時間階段目標和工作進度指標DEMO2003年10月272004年1月9DEMO的制作AHPLA12004年1月92004-3-12實現(xiàn)職業(yè)換裝的人物頭發(fā)換色完成以下界面:(1)開始選單(2)控制面板(3)人物狀態(tài)欄完成戰(zhàn)斗攻擊系統(tǒng)地圖編輯器:(1)人物換色數(shù)據(jù)組織(2)公用物件編輯(3)圖素拼接地表特效編輯器:實現(xiàn)戰(zhàn)斗被擊特效編輯.AHPLA22004-3-122004-4-23?增加道具系統(tǒng)? 構(gòu)建游戲的第一個城鎮(zhèn)AHPLA32004-4-232004-6-4組隊系統(tǒng)基本技能系統(tǒng)職業(yè)換裝系統(tǒng)稱號系統(tǒng)

AHPLA42004-6-42004-7-2AHPLA42004-6-42004-7-2AHPLA52004-7-22004-7-30AHPLA62004-7-302004-8-27AHPLA72004-8-272004-9-30AHPLA82004-9-302004-11-12AHPLA92004-11-122004-12-31ClosedBeta版本2004-12-312005-3-25ClosedBeta22005年4月第一周2005年4月第四周?ClosedBeta32005年4月第一周2005年5月第四周?OpenBeta2005年4月第一周2005年6月第四周?放置野外寶箱任務(wù)系統(tǒng)聊天系統(tǒng)怪物系統(tǒng)(怪物AI、怪物寶石)道具鑲嵌和、改造、合成拜師系統(tǒng)好友系統(tǒng)(結(jié)合QQ)建立跨組的游戲調(diào)試環(huán)境完成神明系統(tǒng)與異常狀態(tài)的開發(fā)完成部分職業(yè)的技能(考慮紙娃娃實現(xiàn),延后進行)進行功能完善:完成界面的改進實現(xiàn)傳送系統(tǒng)Server后臺功能實現(xiàn)加入修羅城,長樂村等地圖DIRSERVER郵件系統(tǒng)寄售系統(tǒng)完善神明及戰(zhàn)斗異常狀態(tài)的畫面表現(xiàn)加入神武山迷宮地圖加入2張野外地圖開店系統(tǒng)職業(yè)技能游戲內(nèi)容、數(shù)值調(diào)整測試、BUG修改、完善;商業(yè)技能(部分)怪物屬性傷害(部分)道具鑲嵌與合成(部分)任務(wù)(部分)卡片(部分)寵物系統(tǒng)(不含戰(zhàn)斗)商業(yè)技能(全部)道具鑲嵌和合成(全部)新地圖黃金城和沙漠迷宮語音聊天功能(可選)客戶端支持平滑升級(可選)任務(wù)(部分)工會系統(tǒng)(基本功能)怪物屬性傷害(全部)支持代理服務(wù)器玩MMOG任務(wù)(部分)交通飛空艇收費版2005年4月第一周2005年8月第二周寵物系統(tǒng)一戰(zhàn)斗(完成)半自由PK系統(tǒng)工會系統(tǒng)(工會戰(zhàn))任務(wù)(部分)新地圖一新大陸(可選)婚姻系統(tǒng)國慶版2005年4月第一周2005年9月第四周?全自由PK系統(tǒng)(預(yù)先完成)?攻城戰(zhàn)?工會飛空艇3.3系統(tǒng)需求3.3.1系統(tǒng)軟件需求SlackwareLinux10.1Kernel2.6.8.1(支持epoll、iptables)Cvs版本管理系統(tǒng)MysqlHeatbeat1.2.1Libnet1.1.2.13.3.2系統(tǒng)硬件需求DB服務(wù)器:DL380G3標配:CPUP42.8GX2內(nèi)存:1GHPDDRRAMX2硬盤:36GX4RAID5(100G)前端服務(wù)器:PT2300GII標配:CPUP42.4GX2內(nèi)存:1GDDRRAMX2硬盤:36GX1NORAID日志服務(wù)器:DL380G3標配:CPUP42.8GX2內(nèi)存:1GHPDDRRAMX2硬盤:146GX4RAID5(400G)系統(tǒng)功能需求實時戰(zhàn)斗模式,server用2D方式實現(xiàn),client端可以為2D或者3D沙盤用QQ號碼登錄游戲,不需單獨注冊通過QQserver驗證,用Kerberos方式實現(xiàn)C/S128bit對稱加密用戶登錄后,可以在一個world的不同地圖,不同server自由切換,不需重新連接用戶的前端連接和后臺server處理邏輯分離,后臺server的處理邏輯可以透明更新,不影響在線用戶支持后臺自動更新。Client端需要更新版本時,用戶可以一邊玩一邊后臺更新。當?shù)卿浻脩粢呀?jīng)下載好新版本超過一定比例時才要求強行更新(如大于80%)server盡可能支持不同版本的client登錄。Client在升級失敗時可以回退。系統(tǒng)性能需求最小化容量:在一臺機器上支持一個完整的world,約5-10萬注冊用戶,1000-2000在線用戶最大化容量:在同一個IDC大區(qū)下,支持50萬在線用戶,劃分5-50個world,每個world支持1-20萬在線用戶。以平均每臺機器支撐600-1000用戶計算,大概是一個500-800臺機器的集群系統(tǒng)通過簡單的配置,可以較方便地實現(xiàn)從最小化到最大化的伸縮考慮到實際情況,可能是在若干個大的地區(qū),安裝200臺左右的機器,支持10萬-20萬在線用戶。較小的地區(qū)采用更小的規(guī)模。響應(yīng)速度要求:用戶登陸時間<5s,在一臺1000-2000在線用戶的機器上,用戶操作延遲時間<500ms3.4系統(tǒng)總體架構(gòu)系統(tǒng)物理架構(gòu)FO采用兩個Cluster,多個World的方式。FO的基本架構(gòu)是由三層組成:最上一層是Cluster,主要是管理帳號和計費,在一個Cluster中,一個帳號只能登錄一次。中間一層是World,主要是管理玩家角色數(shù)據(jù),World之間的角色數(shù)據(jù)是互不相關(guān)的,同一個帳號可以在每個World中創(chuàng)建最多三個角色。最下一層是Zone,負責游戲的邏輯,Zone服務(wù)器是用戶直接相關(guān)的服務(wù)器,屬于同一個World的Zone服務(wù)器之間共享角色數(shù)據(jù)。系統(tǒng)邏輯架構(gòu)Cluster的邏輯架構(gòu)圖如下圖所示:World、Zone的邏輯架構(gòu)圖如下圖所示:4關(guān)鍵技術(shù)分析業(yè)務(wù)模型分析目標用戶針對QQ,QQgame的現(xiàn)有用戶群18-25歲的年輕用戶為主,學(xué)生族群為主增加對女性玩家的吸引力,帶動男性玩家用戶入口QQ幻想客戶端桌面入口QQ客戶端菜單入口QQgame游戲大廳入偶Gameportal網(wǎng)頁入口收費策略會員制,包月用戶收費,價格不高于40元人民幣會員制,包周用戶收費,價格不高于15元人民幣虛擬物品販賣收費,單價0.1Q幣~10Q幣不等產(chǎn)品依賴關(guān)系QQ客戶端上的入口及會員標志等多種表現(xiàn)形式QQgame游戲大廳入口,游戲內(nèi)可進行QQgame的小游戲等與短信、QQ音樂等增殖業(yè)務(wù)結(jié)合增加收入QQ秀,QQ堂等業(yè)務(wù)推出宣傳性道具和地圖等內(nèi)嵌QQ和QQmail發(fā)送功能寵物設(shè)計與QQ寵物結(jié)合一致典型業(yè)務(wù)過程一個完整的用戶登錄過程如下圖所示:用戶輸入帳號和密碼,客戶端開始連接QQ簽名服務(wù)器。QQ簽名服務(wù)器根據(jù)用戶輸入的帳號和密碼,進行鑒權(quán),并返回簽名??蛻舳诉B接Dir服務(wù)器,試圖獲得Zone服務(wù)器的目錄列表。Dir服務(wù)器返回當前可用的Zone服務(wù)器列表以及負載信息。用戶選擇要連接的Zone服務(wù)器,發(fā)送連接請求和簽名信息。Zone接到請求后,驗證該簽名,并向World服務(wù)器發(fā)送帳號登錄請求。World服務(wù)器接收到帳號登錄請求后,向Cluster服務(wù)器轉(zhuǎn)發(fā)該請求。Cluster服務(wù)器接收到帳號登錄請求,記錄相應(yīng)的信息,并向World服務(wù)器返回應(yīng)答。World服務(wù)器轉(zhuǎn)發(fā)該應(yīng)答到對應(yīng)的Zone服務(wù)器。Zone服務(wù)器得到應(yīng)答,進行有關(guān)的帳號登錄處理,并通知客戶端。一個典型的用戶操作過程:Client向Zone服務(wù)器發(fā)送移動或打斗的操作。Zone服務(wù)器計算出Client移動的新位置或打斗的動作,將它反射給其他Client,使得其他用戶可見。Zone服務(wù)器定時將Client操作后的數(shù)據(jù)同步給World服務(wù)器一個典型的用戶查詢過程:Client向Zone服務(wù)器發(fā)送查詢請求。Zone服務(wù)器將此請求發(fā)送給World服務(wù)器。World服務(wù)器將查詢后的結(jié)果返回給Zone服務(wù)器。Zone服務(wù)器將查詢結(jié)果返回給Client。用戶模型分析用戶基礎(chǔ)信息一個Cluster支持的在線用戶為500K一個World支持的在線用戶為5000一個Zone支持的在線用戶為1500單個用戶平均在線時間:1小時/每天在線與注冊用戶比例:5%活躍與注冊用戶比例:20%用戶操作信息用戶登錄:按每個Cluster有500K同時在線人數(shù),平均每人每天1小時的在線時長,則將造成約140次/s登錄請求,這樣World將有140次/s訪問Cluster(內(nèi)網(wǎng)訪問),Cluster將有140次/s訪問ClusterDB(數(shù)據(jù)庫操作)。按每個World有5000人同時在線人數(shù),平均每人每天1小時的在線時長,則將造成約1.4次/s登錄請求,這樣Zone將有1.4次/s訪問World(內(nèi)網(wǎng)訪問),World將有1.4/s訪問WorldDB(數(shù)據(jù)庫操作)。按每個Zone有1500人同時在線人數(shù),平均每人每天1小時的在線時長,則將造成0.42次/s登錄請求,這樣Client將有0.42次/s訪問Zone(外網(wǎng)訪問)。用戶注銷:按每個Cluster有500K同時在線人數(shù),平均每人每天1小時的在線時長,則將造成約140次/s注銷請求,這樣World將有140次/s訪問Cluster(外網(wǎng)訪問),Cluster將有140次/s訪問ClusterDB(數(shù)據(jù)庫操作)。按每個World有5000人同時在線人數(shù),平均每人每天1小時的在線時長,則將造成約1.25次/s注銷請求,這樣Zone將有1.4次/s訪問World(內(nèi)網(wǎng)訪問),World將有1.4/s訪問WorldDB(數(shù)據(jù)庫操作)。按每個Zone有1500人同時在線人數(shù),平均每人每天1小時的在線時長,則將造成0.42次/s注銷請求,這樣Client將有0.42次/s訪問Zone(外網(wǎng)訪問)。用戶移動(網(wǎng)絡(luò)游戲中的角色行走):按每個Zone有1500人同時在線人數(shù),平均每人每天1小時在線時長,每人每秒移動1次,每個用戶平均被10個其他用戶可見,則造成15K次/s的移動請求,這樣Client將有15K次/s訪問Zone(外網(wǎng)訪問)。按每個World有5000人同時在線人數(shù),每3分鐘同步一次Zone的數(shù)據(jù),則將造成27次/s同步請求,這樣Zone將有27/s訪問World(內(nèi)網(wǎng)訪問),World將有25/s訪問WorldDB(數(shù)據(jù)庫操作)。用戶攻擊(網(wǎng)絡(luò)游戲中的角色打斗):按每個Zone有1500人同時在線人數(shù),平均每人每天1小時在線時長,每人每秒攻擊1次,每個用戶平均被10個其他用戶可見,則造成15K次/s的攻擊請求,這樣Client將有15K次/s訪問Zone(外網(wǎng)訪問)。Zone與World的同步請求與用戶移動的操作同時進行,故不再累計。用戶查詢(網(wǎng)絡(luò)游戲中角色查詢貨艙等操作):按每個Zone有1500人同時在線人數(shù),每10分鐘查詢一次數(shù)據(jù),則造成2.5次/s查詢請求,這樣Client將有2.5次/s訪問Zone(外網(wǎng)訪問)。按每個World有5000人同時在線人數(shù),每10分鐘查詢一次數(shù)據(jù),則造成8.3次/s查詢請求,這樣Zone將有7.5次/s訪問World(內(nèi)網(wǎng)訪問),World將有8.3次/s訪問WorldDB(數(shù)據(jù)庫操作)??傆嫞篊luster:280次/s(包數(shù))內(nèi)網(wǎng)訪問,280次/s數(shù)據(jù)庫操作,其中140次/s的Select操作,140次/s的Update操作World:35次/s(包數(shù))內(nèi)網(wǎng)訪問,35次/s數(shù)據(jù)庫操作,其中25次/s的Update操作,10次/s的Select操作Zone:30K次/s(包數(shù))外網(wǎng)請求用戶流量信息用戶登錄請求流量(Client-Dir):200Bytes用戶登錄返回流量(Dir—Client):1000Bytes用戶登錄請求流量(Client-Zone):100Bytes用戶注銷請求流量(Client-Zone):100Bytes用戶登錄返回流量(World-Zone):5K(背包)+5K(任務(wù))+3K(基本數(shù)據(jù))+4K(大、小保管箱)+40*1K(郵件)=62KBytes用戶登錄請求流量(World-Cluster):100Bytes用戶注銷請求流量(World-Cluster):100Bytes用戶更新流量(Zone-World):5K(背包)+5K(任務(wù))+3K(基本數(shù)據(jù))+4K(大、小保管箱)=17Kbytes用戶查詢請求流量(Client-Zone):100Bytes用戶查詢返回流量(World—Zone):7KBytes用戶移動請求流量(Client—Zone):100Bytes用戶攻擊請求流量(Client—Zone):100Bytes聊天消息流量:140Bytes日志信息流量:140Bytes單位用戶流量(平均用戶每1秒攻擊一次,每1秒移動一次,每一個用戶平均被10個其他用戶可見):10X200BytesX8Bit=16Kps語音流量:15KpsZone切換流量:240Kps系統(tǒng)模型分析ClusterServer護OnlineAccountTable,對數(shù)據(jù)庫的訪問由db_process負責。WorldServer一個world可以包含多個zoneserver,每個zoneserver管理一塊或者多塊地圖。一個world最多包括100個zoneserver,每個處理1000-2000在線用戶的話,一個world可以同時在線10-20萬人ZoneserverZone服務(wù)器由zone_connect、zone_disp和zone_server構(gòu)成。zone_connect負責接收來自客戶端的連接,并進行解密,并把消息傳遞給zone_server進行處理。zone_server負責進行邏輯處理,并根據(jù)處理結(jié)果或者轉(zhuǎn)給zone_disp并交由其它zone_server進行處理,或者交由World服務(wù)器進行處理。性能容量分析Cluster設(shè)備和流量需求Cluster:在線人數(shù):500K注冊人數(shù):500K/5%=10M平均在線時長:1小時

公式計算結(jié)果備注存儲要求注冊用戶數(shù)X單位用戶信息10MX100Byte=1G其中100Byte是單位用戶信息帶寬要求(內(nèi)網(wǎng))在線人數(shù)X(World與Cluster之間通信量)/在線時間X8Bit500K*(100Byte+100Byte)/3600*8Bit=0.22Mbps其中第一個100Byte是Login的開銷,后100Byte是Logout的開銷帶寬要求(外網(wǎng))無機器要求2臺G3雙機熱備,1臺為主,另一臺備份關(guān)鍵負荷分析280個/s的數(shù)據(jù)包280次/s的數(shù)據(jù)庫操作數(shù)據(jù)包數(shù)不是瓶頸,其中140次/s的Select操作(Login),140次/s的Update操作(Logout),由于Select和Update的數(shù)據(jù)量較小,不會造成數(shù)據(jù)庫的訪問瓶頸World設(shè)備和流量要求World:在線人數(shù):4500注冊人數(shù):4500/5%=90K平均在線時長:1小時公式計算結(jié)果備注存儲要求注冊用戶數(shù)X(角色數(shù)據(jù)+保管箱數(shù)據(jù)十郵件數(shù)據(jù)十寄售物品數(shù)據(jù))90KX(75K+12K+120K+0.6K)=18.68G角色數(shù)據(jù)=(5K(背包)+5K(任務(wù))+12K(贈送記錄)+3K(基本數(shù)據(jù)))*3(每個帳號可以創(chuàng)建3個角色)=75K

保管箱數(shù)據(jù)=4K(大、小保管箱)*3(每個帳號可以創(chuàng)建3個角色)=12K郵件數(shù)據(jù)=出(每封)*40(每個角色)*3(每個帳號可以創(chuàng)建3個角色)=120K寄售物品數(shù)據(jù)=(5(byte)*40)(寄售物品)*3(每個帳號可以創(chuàng)建3個角色)=0.6K帶寬要求(內(nèi)網(wǎng))在線人數(shù)X(登錄請求/在線時間+定時更新/更新頻率+查詢請求/查詢頻率)X8Bit4500* (16Bytes+94Byte+12Byte )*8Bit=0.44Mbps登錄請求=5K(背包)+5K(任務(wù))+3K(基本數(shù)據(jù))+4K(大、小保管箱)+40*1K(郵件)/3600=16Bytes假定更新頻率為3分鐘,定時更*5K(背包)+5K(任務(wù))+3K(基本數(shù)據(jù))+4K(大、小保管箱)/180=94Byte假定查詢頻率為10分鐘,7K/600=12Byte帶寬要求(外網(wǎng))無機器要求2臺G3雙機熱備,1臺為主,另一臺備份關(guān)鍵負荷分析35個/s的數(shù)據(jù)包,35次/s的數(shù)據(jù)庫操作由于網(wǎng)絡(luò)包數(shù)和數(shù)據(jù)庫操作較少,所有沒有瓶頸問題Zone設(shè)備和流量需求假定一個Zone支持的最高人數(shù)為1500,平均人數(shù)為1000,每用戶流量20Kbps,每用戶平均游戲時間為1個小時。Zone:在線人數(shù):1500單位用戶流量:20Kbps平均在線時長:1小時公式計算結(jié)果備注存儲要求無帶寬要求(內(nèi)網(wǎng))在線人數(shù)x(登錄請求/在線時間+定時更新/更新頻率+切換Zone/切換頻率)X8Bit1500*(15Bytes+94Bytes+167Bytes)*8Bit=3.3Mbps登錄請求=(5K(背包)+5K(任務(wù))+3K(基本數(shù)據(jù))+4K(大、小保管箱)+40*1K(郵件))/3600=15Byte假定更新頻率為3分鐘,定時更新=(5K(背包)+5K(任務(wù))+3K(基本數(shù)據(jù))+4K(大、小保管箱))/180=94Byte假定Zone切換頻率為3分鐘,切換Zone=30K/180=167Byte帶寬要求(外網(wǎng))在線人數(shù)X單位用戶流量X8Bit1500X2KX8Bit=24Mbps主要以用戶最常使用的操作來進行評估,平均用戶每1秒攻擊一次,每1秒移動一次,每一個用戶平均被10個其他用戶可見。10X200Bytes=2K機器要求1臺NRS

關(guān)鍵負荷分析30K個/s的數(shù)據(jù)包30K個/s的數(shù)據(jù)包將成為數(shù)據(jù)訪問的瓶頸,但由于估算是考慮的是每個人每秒移動并且攻擊一次,而且每個人都將給其他10個看^」,考慮到并不是所有人都在移動或攻擊狀態(tài),所以按30%統(tǒng)計,9K個/s的數(shù)據(jù)包也應(yīng)該不會對系統(tǒng)造成訪問瓶頸雜項設(shè)備和流量需求客戶端版本檢查服務(wù)器客戶端版本大?。?00M在線用戶:500K平均在線時間:1小時更新版本用戶:200K每天下載版本用戶:20K公式計算結(jié)果備注存儲要求客戶端版本大小X保存的版本數(shù)量600Mx2=1.2G帶寬要求(內(nèi)網(wǎng))帶寬要求(外網(wǎng))(在線人數(shù)X版本檢測流量/在線時間+更新用戶數(shù)X版本更新流量/更新時間+下載人數(shù)X下載流量)X8Bit(500KX0.28Byte+200KX291Bytes+20KX1K)X8Bit=0.67Gbps假設(shè)版本檢測需要1K流量,版本檢測=1K/3600=0.28Byte假設(shè)每次更新大小為4M數(shù)據(jù),每次更新時間為4小時,更新流量=4M/3600/4=291Byte

假設(shè)采用P2P技術(shù)可以節(jié)省80%的帶寬流量,600M/3600/24/4=1K機器要求3臺NRS(千兆網(wǎng)卡)以每臺可以支撐的有效負載流量250Mbps來計算關(guān)鍵負荷分析下載新版本流量為8Kbps考慮到公測的前一個月下載人數(shù)可能在100K左右,流量帶寬將有0.8Gbps,所以在公測前期可能的帶寬流量為1.3Gbps2.Web服務(wù)器公式計算結(jié)果備注存儲要求帶寬要求(內(nèi)網(wǎng))帶寬要求(外網(wǎng))150Mbps參考《凱旋》,《凱旋》的官網(wǎng)流量約為100MBps。機器要求2臺NRS(千兆網(wǎng)卡)+1臺G3關(guān)鍵負荷分析語音服務(wù)器在線人數(shù):500K語音聊天人數(shù):500Kx10%=50K單位語言流量(一路):15Kbps公式計算結(jié)果備注存儲要求帶寬要求(內(nèi)網(wǎng))帶寬要求(外網(wǎng))語音聊天人數(shù)*語音流量50KX15K=725Mbps機器要求3臺NRS(千兆網(wǎng)卡)以每臺可以支撐的有效負載流量250Mbps來計算關(guān)鍵負荷分析Dir服務(wù)器在線人數(shù):500K平均在線時長:1小時公式計算結(jié)果備注存儲要求帶寬要求(內(nèi)網(wǎng))帶寬要求(外網(wǎng))在線人數(shù)X(Dir返回Client的游戲目錄列表)X8bit500K* (200+1000Byte)/3600*8Bit=1.33Mbps機器要求2臺NRS雙機熱備,1臺為主,另一臺備份關(guān)鍵負荷分析道具及支付服務(wù)器因為是相對比較獨立的系統(tǒng),F(xiàn)O8月份開始收費,設(shè)備和帶寬需求可以在Q3提。Config和Monitor服務(wù)器提供配置和監(jiān)控,沒有外網(wǎng)流量。內(nèi)網(wǎng)流量很少,可不予考慮。對于大的Cluster可以考慮使用2臺,小的Cluster使用1臺。存儲要求:無。帶寬要求:無。c)機器要求:NRS,1—2臺。Dispatch服務(wù)器Dispatch服務(wù)器用來轉(zhuǎn)發(fā)消息和聊天信息。主要的流量在聊天消息和切換Zone消息。在線人數(shù):4500聊天信息:0.5條/sZone切換次數(shù):1次/3分鐘公式計算結(jié)果備注

存儲要求帶寬要求(內(nèi)網(wǎng))在線人數(shù)X(聊天信息+Zone切換信息)X8bit4500*(140/2+30K/180)*8bit=8.52Mbps帶寬要求(外網(wǎng))機器要求1臺NRS關(guān)鍵負荷分析包數(shù)為2250個/s通信的包數(shù)也不是瓶頸Log服務(wù)器Log服務(wù)器主要用來記錄玩家的操作,產(chǎn)生玩家的操作流水日志。每兩秒產(chǎn)生一次記錄。每天游戲時間以12小時計算。在線人數(shù):4500平均在線時長:1小時日志信息:0.5條/s日志保存時間:30天公式計算結(jié)果備注存儲要求在線人數(shù)*日志信息X每天日志條數(shù)*日志保留時間4500*140*3600*12*30/2=408.2G帶寬要求(內(nèi)網(wǎng))在線人數(shù)*日志信息X8bit4500X140/2X8bit=2.52Mbps帶寬要求(外網(wǎng))機器要求G3,4X136GB硬盤,1臺關(guān)鍵負荷分析包數(shù)為2250個/s流量帶寬不是瓶頸,通信的包數(shù)也不是瓶頸4.4.5總計一個World的總計(按照一個World包含3個Zone計算):帶寬要求(內(nèi)網(wǎng)):0.44MBps(Zone-World的內(nèi)網(wǎng)帶寬)+8.52Mbps(Dispatch內(nèi)網(wǎng)帶寬)+2.52Mbps(日志內(nèi)網(wǎng)帶寬)=11.48Mbps帶寬要求(外網(wǎng)):24Mbps(Client-Zone的外網(wǎng)帶寬)X3=72Mbps設(shè)備要求:NRS:3臺NRS(Zone)+1臺NRS(Dispatch)=4(臺)G3:2臺G3(World)+1臺G3(Log)=3(臺)一個Cluster的總計:帶寬要求(內(nèi)網(wǎng))為:0.22Mbps(World—Cluster)=0.22Mbps帶寬要求(外網(wǎng))為:1.33Mbps(Client—Dir)+0.67Gbps(下載)+150Mbps(Web)+725Mbps(語音)=1.56Gbps設(shè)備需求:NRS:2(Dir)+1(Config)+1(Web)+2(Voice)+1(Moniter)+2(版本檢查)+3(千兆下載,或者12臺百兆下載)+1(QQ驗證)=13(臺)G3:1(Cluster)*2+1(WebDB)=3(臺)4.5負載均衡分析負載均衡策略FO的負載均衡以增加新的World作為負載均衡的主要手段。每一個World是一個相對獨立的部分,可以支撐玩家在其中進行游戲。World的增加,會導(dǎo)致Cluster的負載增加,由于Cluster與World的交互很少,因此對Cluster的影響較小。當隨著World的增加導(dǎo)致Cluster的負載太大,單臺服務(wù)器不能承受的時候,可以考慮對Cluster進行分布,每個Cluster僅為指定QQ號段服務(wù),這樣可以實現(xiàn)Cluster的負載均衡。異地分布策略FO的異地分布策略主要是如下兩條:FO是否在某個城市進行分布和分布的數(shù)量,是根據(jù)該城市潛在的游戲用戶數(shù)來確定,潛在用戶數(shù)多,則分布的World多,否則分布的就少。覆蓋度原則,每在一個城市進行分布,那么除了可以為該城市的游戲用戶進行服務(wù),也可以為相鄰的一些城市提供服務(wù)。在進行分布的時候,遵循的原則是:使用盡可能少的分布點來達到盡可能大的覆蓋度。4.6容災(zāi)備份分析對于游戲運營,最重要的就是用戶數(shù)據(jù),因此所有的手段都是圍繞一個目的,即保證用戶的數(shù)據(jù)不出現(xiàn)問題。為了保證極端情況下,盡可能的減少用戶數(shù)據(jù)的損失,數(shù)據(jù)備份是一個很重要的手段。按照內(nèi)測的數(shù)據(jù),7MByte的存儲,12320個角色,平均每個角色的存儲為600Byte(壓縮后)。按照每個角色基本數(shù)據(jù)的最大值來計算,每個角色的基本數(shù)據(jù)為30K:30K(單一角色存儲)*90K(最高在線人數(shù))*10(角色數(shù)與最高在線人數(shù)比)=27G(Byte)則保存30天的數(shù)據(jù)量為:27G*30= 840G因為上述值是按照最保守的方式來計算的,實際的數(shù)據(jù)量應(yīng)不超過上述計算值的一半,如果再加上壓縮,那么實際的存儲應(yīng)不超過200G。目前FO的備份方案是:分南北兩個Cluster各自使用一個磁盤柜進行備份,備份的方式是采用全量備份,每天進行一次備份,備份時間為1~2個月(視具體情況而定)。如果有條件的話,還可以考慮使用磁帶機進行備份,每周全量備份一次。5部署方案目前FO的IDC分布規(guī)劃如下圖所示:分為南方和北方兩個Cluster(分別針對不同的運營商:電信和網(wǎng)通)。每個大區(qū)下面根據(jù)需要有不同的World。每個world預(yù)計承載4500人,由三臺服務(wù)器共同提供服務(wù),單臺服務(wù)器的負載在1500人左右。每個玩家的流量為15-20kbps。6風(fēng)險分析及規(guī)避措施總的來講,F(xiàn)O運營的風(fēng)險可以分成硬件故障和軟件故障兩大類。硬件的故障包括機器的故障、磁盤故障、IDC線路故障,黑客攻擊等。軟件的故障包括數(shù)據(jù)庫失效、程序失效等等。6.1硬件故障針對不同的硬件故障,提供不同的應(yīng)對策略。6.1.1機器、磁盤故障對于機器或者磁盤故障的應(yīng)對方式有兩種:主動方式:對運行一些重要應(yīng)用的機器提供HA方案,雙機熱備,當其中一臺失效的時候,由另一臺接管其工作。采用這種方式,可以把故障的處理時間降到10-20分鐘。在另一臺機器接管工作之后,再對故障機器進行檢查,根據(jù)具體情況或更換、或修理。在失效機器恢復(fù)正常之后,失效機器以備機的身份重新開始服務(wù)。被動方式:對于運行不重要應(yīng)用的機器提供快速更換服務(wù)??焖俑鼡Q服務(wù)指的是機器上的應(yīng)用和配置都已準備好,當出現(xiàn)故障,需要更換其它機器時,只要對該服務(wù)器稍作修改就可以代替故障機器。FO采取的措施是兩者皆用,一方面在每個IDC機房內(nèi)準備一些備用機器,另一方面對關(guān)系到用戶數(shù)據(jù)的機器提供HA方案。具體的方式是:每個IDC視支撐人數(shù)的大小,確定備用機器的數(shù)量和種類。對于小的IDC,保留2臺備用機,1臺為數(shù)據(jù)庫備用機,1臺為前端備用機。大的IDC,保留4臺備用機,2臺數(shù)據(jù)庫,2臺前端。對于Cluster(賬號和計費)服務(wù)器和World(角色)服務(wù)器提供HA方案,保證用戶的數(shù)據(jù)可以很快恢復(fù)訪問。6.1.2IDC線路故障和黑客攻擊對于IDC線路故障和黑客攻擊,這個沒有方法完全避免問題,只能是盡量減少損失。應(yīng)對的措施主要是進行IDC分布,當一個IDC出現(xiàn)問題的時候,不會影響到另一個IDC的玩家。FO采用兩個Cluster,多個World的方式。如果Cluster正常,只是World出現(xiàn)問題,那么受影響的只是出問題的World的玩家。如果Cluster出現(xiàn)問題,World正常,由于World和Cluster只在用戶登入、登出和某些特殊的事件進行通信,那么已經(jīng)登入的用戶還是可以繼續(xù)游戲,但是新用戶將不能登陸。所有開放內(nèi)網(wǎng)監(jiān)聽端口的應(yīng)用程序都采用了限制IP的機制,報障了只有內(nèi)部IP可以訪問。所有開發(fā)外網(wǎng)監(jiān)聽端口的應(yīng)用程序采用了超時限制和包大小限制來報障黑客的拒絕服務(wù)攻擊,此外對于與外網(wǎng)的通信協(xié)議采用了加密算法,防止黑客的探測攻擊。6.2軟件故障Dir服務(wù)器Dir服務(wù)器是客戶端拉取游戲分區(qū)信息的服務(wù)器,是用戶進行游戲的第一個入口。一個Dir服務(wù)器為一個cluster服務(wù),如果Dir服務(wù)器出現(xiàn)故障,會對用戶的登陸產(chǎn)生嚴重的影響。由于Dir服務(wù)器不保存任何數(shù)據(jù),可以說是沒有狀態(tài)的。因此Dir服務(wù)器可以采用對稱多處理的方式。Dir服務(wù)器的信息來源是Zone服務(wù)器上報的信息,為了提供容錯,Zone服務(wù)器將向兩個Dir服務(wù)器同時上報同樣的信息,這樣在兩個Dir服務(wù)器中產(chǎn)生完全相同的兩份數(shù)據(jù),當其中一臺Dir服務(wù)器失效的時候,另一臺可以繼續(xù)提供服務(wù)。在客戶端可以提供一個訪問策略,先隨即選擇一臺Dir服務(wù)器,如果該服務(wù)器不能提供服務(wù),再選擇另一臺Dir服務(wù)器。對于可伸縮性的考慮。由于Dir服務(wù)器是為Cluster服務(wù)的,因此,Dir服務(wù)器的負載變動的范圍可能會比較大。采用兩個Dir服務(wù)器對稱處理的方式提供了高可用性,也提高了一倍的負載能力,但是還是可能會出現(xiàn)負載過大的情況。如果兩臺Dir服務(wù)器不能滿足服務(wù)器的需要,那么可以考慮復(fù)制的方式,以這兩臺服務(wù)器作為主服務(wù)器,把自己

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論