




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
騰訊科技〔深圳〕有限公司PAGEPAGE4版權(quán)所有不得復(fù)制FOFO產(chǎn)品總體技術(shù)方案擬制:日期:審核:日期:版本號:版本號:XXXV1.0騰訊科技〔深圳〕有限公司修訂日期修訂內(nèi)容協(xié)議版本修訂人
目錄目錄 31 背景 12 概述 12.1 范圍 12.2 引用標(biāo)準(zhǔn) 12.3 術(shù)語和定義 12.4 符號和縮略語 13 總體架構(gòu)設(shè)計 23.1 設(shè)計原那么 23.1.1 產(chǎn)品關(guān)聯(lián)性原那么 23.1.2 產(chǎn)品依賴原那么 23.2 設(shè)計目標(biāo) 23.2.1 路標(biāo)規(guī)劃 23.3 系統(tǒng)需求 43.3.1 系統(tǒng)軟件需求 43.3.2 系統(tǒng)硬件需求 43.3.3 系統(tǒng)功能需求 53.3.4 系統(tǒng)性能需求 53.4 系統(tǒng)總體架構(gòu) 63.4.1 系統(tǒng)物理架構(gòu) 63.4.2 系統(tǒng)邏輯架構(gòu) 64 關(guān)鍵技術(shù)分析 84.1 業(yè)務(wù)模型分析 84.1.1 目標(biāo)用戶 84.1.2 用戶入口 84.1.3 收費(fèi)策略 84.1.4 產(chǎn)品依賴關(guān)系 84.1.5 典型業(yè)務(wù)過程 94.2 用戶模型分析 104.2.1 用戶根底信息 104.2.2 用戶操作信息 104.2.3 用戶流量信息 124.3 系統(tǒng)模型分析 134.3.1 ClusterServer 134.3.2 WorldServer 144.3.3 Zoneserver 144.4 性能容量分析 154.4.1 Cluster設(shè)備和流量需求 154.4.2 World設(shè)備和流量要求 164.4.3 Zone設(shè)備和流量需求 174.4.4 雜項設(shè)備和流量需求 184.4.5 總計 224.5 負(fù)載均衡分析 224.5.1 負(fù)載均衡策略 224.5.2 異地分布策略 224.6 容災(zāi)備份分析 225 部署方案 246 風(fēng)險分析及躲避措施 256.1 硬件故障 256.1.1 機(jī)器、磁盤故障 256.1.2 IDC線路故障和黑客攻擊 256.2 軟件故障 266.2.1 Dir效勞器 266.2.2 mysql 266.2.3 狀態(tài)的轉(zhuǎn)移和恢復(fù) 276.2.4 Zone效勞器 286.2.5 Disp效勞器 286.2.6 Log效勞器 287 備選方案 30PAGE14版權(quán)所有不得復(fù)制背景概述范圍引用標(biāo)準(zhǔn)術(shù)語和定義名詞解釋符號和縮略語縮寫英文描述中文描述總體架構(gòu)設(shè)計設(shè)計原那么產(chǎn)品關(guān)聯(lián)性原那么盡量保持產(chǎn)品的獨(dú)立性在與其他產(chǎn)品進(jìn)行交互時僅提供必須的接口,以減少復(fù)雜度和錯誤發(fā)生的可能性。在與其他產(chǎn)品交互的時候都通過一個中間進(jìn)程進(jìn)行,以降低產(chǎn)品之間的耦合性與夢想關(guān)聯(lián)的產(chǎn)品主要是:QQ和Q幣支付系統(tǒng)。產(chǎn)品依賴原那么盡可能重用公司內(nèi)部已有的模塊,以減少維護(hù)和開發(fā)的工作量。對于一些已有的產(chǎn)品,如果可以滿足需求,直接整合到產(chǎn)品包中。由于夢想的特殊情況,目前夢想除了下載效勞器以外,未重用任何模塊或代碼。設(shè)計目標(biāo)路標(biāo)規(guī)劃階段開始時間完成時間階段目標(biāo)和工作進(jìn)度指標(biāo)DEMO2003年10月272004年1月9DEMO的制作AHPLA12004年1月92實現(xiàn)職業(yè)換裝的人物頭發(fā)換色完成以下界面:(1)開始選單(2)控制面板(3)人物狀態(tài)欄完成戰(zhàn)斗攻擊系統(tǒng)地圖編輯器:(1)人物換色數(shù)據(jù)組織(2)公用物件編輯(3)圖素拼接地表特效編輯器:實現(xiàn)戰(zhàn)斗被擊特效編輯.AHPLA222增加道具系統(tǒng)構(gòu)建游戲的第一個城鎮(zhèn)AHPLA322組隊系統(tǒng)根本技能系統(tǒng)職業(yè)換裝系統(tǒng)稱號系統(tǒng)放置野外寶箱AHPLA422功能性特性任務(wù)系統(tǒng)聊天系統(tǒng)怪物系統(tǒng)〔怪物AI、怪物寶石〕道具鑲嵌和、改造、合成拜師系統(tǒng)好友系統(tǒng)(結(jié)合QQ)AHPLA522建立跨組的游戲調(diào)試環(huán)境完成神明系統(tǒng)與異常狀態(tài)的開發(fā)完成局部職業(yè)的技能(考慮紙娃娃實現(xiàn),延后進(jìn)行)進(jìn)行功能完善:AHPLA622完成界面的改進(jìn)實現(xiàn)傳送系統(tǒng)Server后臺功能實現(xiàn)參加修羅城,長樂村等地圖AHPLA722DIRSERVER郵件系統(tǒng)寄售系統(tǒng)完善神明及戰(zhàn)斗異常狀態(tài)的畫面表現(xiàn)參加神武山迷宮地圖參加2張野外地圖AHPLA822開店系統(tǒng)職業(yè)技能AHPLA922游戲內(nèi)容、數(shù)值調(diào)整ClosedBeta版本22測試、BUG修改、完善;ClosedBeta22005年4月第一周2005年4月第四周商業(yè)技能〔局部〕怪物屬性傷害〔局部〕道具鑲嵌與合成〔局部〕任務(wù)〔局部〕?ClosedBeta32005年4月第一周2005年5月第四周卡片〔局部〕寵物系統(tǒng)〔不含戰(zhàn)斗〕商業(yè)技能〔全部〕道具鑲嵌和合成〔全部〕新地圖黃金城和沙漠迷宮語音聊天功能〔可選〕客戶端支持平滑升級〔可選〕任務(wù)〔局部〕?OpenBeta2005年4月第一周2005年6月第四周工會系統(tǒng)〔根本功能〕怪物屬性傷害〔全部〕支持代理效勞器玩MMOG任務(wù)〔局部〕交通飛空艇收費(fèi)版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)工會飛空艇系統(tǒng)需求系統(tǒng)軟件需求SlackwareLinux10.1Kernel2.6.8.1〔支持epoll、iptables〕Cvs版本管理系統(tǒng)Mysql4.0.16Heatbeat1.2.1Libnet1.1.2.1系統(tǒng)硬件需求DB效勞器:DL380G3標(biāo)配:CPUP42.8G×2內(nèi)存:1GHPDDRRAM×2硬盤:36G×4RAID5〔100前端效勞器: PT2300標(biāo)配:CPUP42.4G×2內(nèi)存:1GDDRRAM×2硬盤:36G×1NORAID日志效勞器:DL380G3標(biāo)配:CPUP42.8G×2內(nèi)存:1GHPDDRRAM×2硬盤:146G×4RAID5〔4系統(tǒng)功能需求實時戰(zhàn)斗模式,server用2D方式實現(xiàn),client端可以為2D或者3D沙盤用QQ號碼登錄游戲,不需單獨(dú)注冊通過QQserver驗證,用Kerberos方式實現(xiàn)C/S128bit對稱加密用戶登錄后,可以在一個world的不同地圖,不同server自由切換,不需重新連接用戶的前端連接和后臺server處理邏輯別離,后臺server的處理邏輯可以透明更新,不影響在線用戶支持后臺自動更新。Client端需要更新版本時,用戶可以一邊玩一邊后臺更新。當(dāng)?shù)卿浻脩粢呀?jīng)下載好新版本超過一定比例時才要求強(qiáng)行更新〔如大于80%〕server盡可能支持不同版本的client登錄。Client在升級失敗時可以回退。系統(tǒng)性能需求最小化容量:在一臺機(jī)器上支持一個完整的world,約5-10萬注冊用戶,1000-2最大化容量:在同一個IDC大區(qū)下,支持50萬在線用戶,劃分5-50個world,每個world支持1–20萬在線用戶。以平均每臺機(jī)器支撐600-1000用戶計算,大概是一個500-8通過簡單的配置,可以較方便地實現(xiàn)從最小化到最大化的伸縮考慮到實際情況,可能是在假設(shè)干個大的地區(qū),安裝200臺左右的機(jī)器,支持10萬-20萬在線用戶。較小的地區(qū)采用更小的規(guī)模。響應(yīng)速度要求:用戶登陸時間<5s,在一臺1000-200系統(tǒng)總體架構(gòu)系統(tǒng)物理架構(gòu)FO采用兩個Cluster,多個World的方式。 FO的根本架構(gòu)是由三層組成:最上一層是Cluster,主要是管理帳號和計費(fèi),在一個Cluster中,一個帳號只能登錄一次。中間一層是World,主要是管理玩家角色數(shù)據(jù),World之間的角色數(shù)據(jù)是互不相關(guān)的,同一個帳號可以在每個World中創(chuàng)立最多三個角色。最下一層是Zone,負(fù)責(zé)游戲的邏輯,Zone效勞器是用戶直接相關(guān)的效勞器,屬于同一個World的Zone效勞器之間共享角色數(shù)據(jù)。系統(tǒng)邏輯架構(gòu)Cluster的邏輯架構(gòu)圖如以下圖所示:World、Zone的邏輯架構(gòu)圖如以下圖所示:關(guān)鍵技術(shù)分析業(yè)務(wù)模型分析目標(biāo)用戶針對QQ,QQgame的現(xiàn)有用戶群18-25歲的年輕用戶為主,學(xué)生族群為主增加對女性玩家的吸引力,帶動男性玩家用戶入口QQ夢想客戶端桌面入口QQ客戶端菜單入口QQgame游戲大廳入偶Gameportal網(wǎng)頁入口收費(fèi)策略會員制,包月用戶收費(fèi),價格不高于40元人民幣會員制,包周用戶收費(fèi),價格不高于15元人民幣虛擬物品販賣收費(fèi),單價0.1Q幣~10Q幣不等產(chǎn)品依賴關(guān)系QQ客戶端上的入口及會員標(biāo)志等多種表現(xiàn)形式QQgame游戲大廳入口,游戲內(nèi)可進(jìn)行QQgame的小游戲等與短信、QQ音樂等增殖業(yè)務(wù)結(jié)合增加收入QQ秀,QQ堂等業(yè)務(wù)推出宣傳性道具和地圖等內(nèi)嵌QQ和QQmail發(fā)送功能寵物設(shè)計與QQ寵物結(jié)合一致典型業(yè)務(wù)過程一個完整的用戶登錄過程如以下圖所示:用戶輸入帳號和密碼,客戶端開始連接QQ簽名效勞器。QQ簽名效勞器根據(jù)用戶輸入的帳號和密碼,進(jìn)行鑒權(quán),并返回簽名??蛻舳诉B接Dir效勞器,試圖獲得Zone效勞器的目錄列表。Dir效勞器返回當(dāng)前可用的Zone效勞器列表以及負(fù)載信息。用戶選擇要連接的Zone效勞器,發(fā)送連接請求和簽名信息。Zone接到請求后,驗證該簽名,并向World效勞器發(fā)送帳號登錄請求。World效勞器接收到帳號登錄請求后,向Cluster效勞器轉(zhuǎn)發(fā)該請求。Cluster效勞器接收到帳號登錄請求,記錄相應(yīng)的信息,并向World效勞器返回應(yīng)答。World效勞器轉(zhuǎn)發(fā)該應(yīng)答到對應(yīng)的Zone效勞器。Zone效勞器得到應(yīng)答,進(jìn)行有關(guān)的帳號登錄處理,并通知客戶端。一個典型的用戶操作過程:Client向Zone效勞器發(fā)送移動或打斗的操作。Zone效勞器計算出Client移動的新位置或打斗的動作,將它反射給其他Client,使得其他用戶可見。Zone效勞器定時將Client操作后的數(shù)據(jù)同時給World效勞器一個典型的用戶查詢過程:Client向Zone效勞器發(fā)送查詢請求。Zone效勞器將此請求發(fā)送給World效勞器。World效勞器將查詢后的結(jié)果返回給Zone效勞器。Zone效勞器將查詢結(jié)果返回給Client。用戶模型分析用戶根底信息一個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的同時請求與用戶移動的操作同時進(jìn)行,故不再累計。用戶查詢〔網(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〕:100用戶登錄請求流量〔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個其他用戶可見〕:10×200Bytes×8Bit=16Kps語音流量:15KpsZone切換流量:240Kps系統(tǒng)模型分析ClusterServer Cluster效勞器包括cluster_login和db_process,cluster_login負(fù)責(zé)與WorldServer交互,并維護(hù)OnlineAccountTable,對數(shù)據(jù)庫的訪問由db_process負(fù)責(zé)。WorldServer 一個world可以包含多個zoneserver,每個zoneserver管理一塊或者多塊地圖。一個world最多包括100個zoneserver,每個處理1000-20ZoneserverZone效勞器由zone_connect、zone_disp和zone_server構(gòu)成。zone_connect負(fù)責(zé)接收來自客戶端的連接,并進(jìn)行解密,并把消息傳遞給zone_server進(jìn)行處理。zone_server負(fù)責(zé)進(jìn)行邏輯處理,并根據(jù)處理結(jié)果或者轉(zhuǎn)給zone_disp并交由其它zone_server進(jìn)行處理,或者交由World效勞器進(jìn)行處理。性能容量分析Cluster設(shè)備和流量需求Cluster:在線人數(shù):500K注冊人數(shù):500K/5%=10M平均在線時長:1小時公式計算結(jié)果備注存儲要求注冊用戶數(shù)×單位用戶信息10M×100Byte=1G其中100Byte是單位用戶信息帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×〔World與Cluster之間通信量〕/在線時間×8Bit500K*〔100Byte+100Byte〕/3600*8Bit=0.22Mbps其中第一個100Byte是Login的開銷,后100Byte是Logout的開銷帶寬要求〔外網(wǎng)〕無機(jī)器要求2臺G3雙機(jī)熱備,1臺為主,另一臺備份關(guān)鍵負(fù)荷分析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ù)×〔角色數(shù)據(jù)+保管箱數(shù)據(jù)+郵件數(shù)據(jù)+寄售物品數(shù)據(jù)〕90K×〔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ù)=1K〔每封〕*40〔每個角色〕*3〔每個帳號可以創(chuàng)立3個角色〕=120K寄售物品數(shù)據(jù)=〔5〔byte〕*40〕〔寄售物品〕*3〔每個帳號可以創(chuàng)立3個角色〕=0.6K帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×〔登錄請求/在線時間+定時更新/更新頻率+查詢請求/查詢頻率〕×8Bit4500*〔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)〕無機(jī)器要求2臺G3雙機(jī)熱備,1臺為主,另一臺備份關(guān)鍵負(fù)荷分析35個/s的數(shù)據(jù)包,35次/s的數(shù)據(jù)庫操作由于網(wǎng)絡(luò)包數(shù)和數(shù)據(jù)庫操作較少,所有沒有瓶頸問題Zone設(shè)備和流量需求假定一個Zone支持的最高人數(shù)為1500,平均人數(shù)為100Zone:在線人數(shù):1500單位用戶流量:20Kbps平均在線時長:1小時公式計算結(jié)果備注存儲要求無帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×〔登錄請求/在線時間+定時更新/更新頻率+切換Zone/切換頻率〕×8Bit1500*〔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ù)×單位用戶流量×8Bit1500×2K×8Bit=24Mbps主要以用戶最常使用的操作來進(jìn)行評估,平均用戶每1秒攻擊一次,每1秒移動一次,每一個用戶平均被10個其他用戶可見。10×200Bytes=2K機(jī)器要求1臺NRS關(guān)鍵負(fù)荷分析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è)備和流量需求客戶端版本檢查效勞器客戶端版本大小:600M在線用戶:500K平均在線時間:1小時更新版本用戶:200K每天下載版本用戶:20K公式計算結(jié)果備注存儲要求客戶端版本大小×保存的版本數(shù)量600M×2=1.2G帶寬要求〔內(nèi)網(wǎng)〕帶寬要求〔外網(wǎng)〕〔在線人數(shù)×版本檢測流量/在線時間+更新用戶數(shù)×版本更新流量/更新時間+下載人數(shù)×下載流量〕×8Bit〔500K×0.28Byte+200K×291Bytes+20K×1K〕×8Bit=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機(jī)器要求3臺NRS(千兆網(wǎng)卡)以每臺可以支撐的有效負(fù)載流量250Mbps來計算關(guān)鍵負(fù)荷分析下載新版本流量為8Kbps考慮到公測的前一個月下載人數(shù)可能在100K左右,流量帶寬將有0.8Gbps,所以在公測前期可能的帶寬流量為1.3GbpsWeb效勞器公式計算結(jié)果備注存儲要求帶寬要求〔內(nèi)網(wǎng)〕帶寬要求〔外網(wǎng)〕150Mbps參考?凱旋?,?凱旋?的官網(wǎng)流量約為100MBps。機(jī)器要求2臺NRS(千兆網(wǎng)卡)+1臺G3關(guān)鍵負(fù)荷分析語音效勞器在線人數(shù):500K語音聊天人數(shù):500K×10%=50K單位語言流量〔一路〕:15Kbps公式計算結(jié)果備注存儲要求帶寬要求〔內(nèi)網(wǎng)〕帶寬要求〔外網(wǎng)〕語音聊天人數(shù)×語音流量50K×15K=725Mbps機(jī)器要求3臺NRS(千兆網(wǎng)卡)以每臺可以支撐的有效負(fù)載流量250Mbps來計算關(guān)鍵負(fù)荷分析Dir效勞器在線人數(shù):500K平均在線時長:1小時公式計算結(jié)果備注存儲要求帶寬要求〔內(nèi)網(wǎng)〕帶寬要求〔外網(wǎng)〕在線人數(shù)×〔Dir返回Client的游戲目錄列表〕×8bit500K*〔200+1000Byte〕/3600*8Bit機(jī)器要求2臺NRS雙機(jī)熱備,1臺為主,另一臺備份關(guān)鍵負(fù)荷分析道具及支付效勞器因為是相比照擬獨(dú)立的系統(tǒng),F(xiàn)O8月份開始收費(fèi),設(shè)備和帶寬需求可以在Q3提。Config和Monitor效勞器提供配置和監(jiān)控,沒有外網(wǎng)流量。內(nèi)網(wǎng)流量很少,可不予考慮。 對于大的Cluster可以考慮使用2臺,小的Cluster使用1臺。存儲要求:無。帶寬要求:無。機(jī)器要求:NRS,1—2臺。Dispatch效勞器Dispatch效勞器用來轉(zhuǎn)發(fā)消息和聊天信息。主要的流量在聊天消息和切換Zone消息。在線人數(shù):4500聊天信息:0.5條/sZone切換次數(shù):1次/3分鐘公式計算結(jié)果備注存儲要求帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×〔聊天信息+Zone切換信息〕×8bit4500*〔140/2+30K/180〕*8bit=8.52Mbps帶寬要求〔外網(wǎng)〕機(jī)器要求1臺NRS關(guān)鍵負(fù)荷分析包數(shù)為2250通信的包數(shù)也不是瓶頸Log效勞器Log效勞器主要用來記錄玩家的操作,產(chǎn)生玩家的操作流水日志。每兩秒產(chǎn)生一次記錄。每天游戲時間以12小時計算。在線人數(shù):4500平均在線時長:1小時日志信息:0.5條/s日志保存時間:30天公式計算結(jié)果備注存儲要求在線人數(shù)×日志信息×每天日志條數(shù)×日志保存時間4500*140*3600*12*30/2=408.2G帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×日志信息×8bit4500×140/2×8bit=2.52Mbps帶寬要求〔外網(wǎng)〕機(jī)器要求G3,4×136GB硬盤,1臺關(guān)鍵負(fù)荷分析包數(shù)為2250流量帶寬不是瓶頸,通信的包數(shù)也不是瓶頸總計一個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)帶寬)×3=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〔臺〕負(fù)載均衡分析負(fù)載均衡策略FO的負(fù)載均衡以增加新的World作為負(fù)載均衡的主要手段。每一個World是一個相對獨(dú)立的局部,可以支撐玩家在其中進(jìn)行游戲。World的增加,會導(dǎo)致Cluster的負(fù)載增加,由于Cluster與World的交互很少,因此對Cluster的影響較小。當(dāng)隨著World的增加導(dǎo)致Cluster的負(fù)載太大,單臺效勞器不能承受的時候,可以考慮對Cluster進(jìn)行分布,每個Cluster僅為指定QQ號段效勞,這樣可以實現(xiàn)Cluster的負(fù)載均衡。異地分布策略FO的異地分布策略主要是如下兩條:FO是否在某個城市進(jìn)行分布和分布的數(shù)量,是根據(jù)該城市潛在的游戲用戶數(shù)來確定,潛在用戶數(shù)多,那么分布的World多,否那么分布的就少。覆蓋度原那么,每在一個城市進(jìn)行分布,那么除了可以為該城市的游戲用戶進(jìn)行效勞,也可以為相鄰的一些城市提供效勞。在進(jìn)行分布的時候,遵循的原那么是:使用盡可能少的分布點(diǎn)來到達(dá)盡可能大的覆蓋度。容災(zāi)備份分析對于游戲運(yùn)營,最重要的就是用戶數(shù)據(jù),因此所有的手段都是圍繞一個目的,即保證用戶的數(shù)據(jù)不出現(xiàn)問題。為了保證極端情況下,盡可能的減少用戶數(shù)據(jù)的損失,數(shù)據(jù)備份是一個很重要的手段。 按照內(nèi)測的數(shù)據(jù),7MByte的存儲,12320個角色,平均每個角色的存儲為6按照每個角色根本數(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)不超過200目前FO的備份方案是:分南北兩個Cluster各自使用一個磁盤柜進(jìn)行備份,備份的方式是采用全量備份,每天進(jìn)行一次備份,備份時間為1~2個月〔視具體情況而定〕。如果有條件的話,還可以考慮使用磁帶機(jī)進(jìn)行備份,每周全量備份一次。部署方案 目前FO的IDC分布規(guī)劃如以下圖所示: 分為南方和北方兩個Cluster〔分別針對不同的運(yùn)營商:電信和網(wǎng)通〕。 每個大區(qū)下面根據(jù)需要有不同的World。 每個world預(yù)計承載4500人,由三臺效勞器共同提供效勞,單臺效勞器的負(fù)載在1500人左右。 每個玩家的流量為15-20kbps。風(fēng)險分析及躲避措施總的來講,F(xiàn)O運(yùn)營的風(fēng)險可以分成硬件故障和軟件故障兩大類。硬件的故障包括機(jī)器的故障、磁盤故障、IDC線路故障,黑客攻擊等。 軟件的故障包括數(shù)據(jù)庫失效、程序失效等等。硬件故障針對不同的硬件故障,提供不同的應(yīng)對策略。機(jī)器、磁盤故障對于機(jī)器或者磁盤故障的應(yīng)對方式有兩種:主動方式:對運(yùn)行一些重要應(yīng)用的機(jī)器提供HA方案,雙機(jī)熱備,當(dāng)其中一臺失效的時候,由另一臺接管其工作。采用這種方式,可以把故障的處理時間降到10-20分鐘。在另一臺機(jī)器接管工作之后,再對故障機(jī)器進(jìn)行檢查,根據(jù)具體情況或更換、或修理。在失效機(jī)器恢復(fù)正常之后,失效機(jī)器以備機(jī)的身份重新開始效勞。被動方式:對于運(yùn)行不重要應(yīng)用的機(jī)器提供快速更換效勞??焖俑鼡Q效勞指的是機(jī)器上的應(yīng)用和配置都已準(zhǔn)備好,當(dāng)出現(xiàn)故障,需要更換其它機(jī)器時,只要對該效勞器稍作修改就可以代替故障機(jī)器。 FO采取的措施是兩者皆用,一方面在每個IDC機(jī)房內(nèi)準(zhǔn)備一些備用機(jī)器,另一方面對關(guān)系到用戶數(shù)據(jù)的機(jī)器提供HA方案。 具體的方式是:每個IDC視支撐人數(shù)的大小,確定備用機(jī)器的數(shù)量和種類。對于小的IDC,保存2臺備用機(jī),1臺為數(shù)據(jù)庫備用機(jī),1臺為前端備用機(jī)。大的IDC,保存4臺備用機(jī),2臺數(shù)據(jù)庫,2臺前端。對于Cluster〔賬號和計費(fèi)〕效勞器和World〔角色〕效勞器提供HA方案,保證用戶的數(shù)據(jù)可以很快恢復(fù)訪問。IDC線路故障和黑客攻擊對于IDC線路故障和黑客攻擊,這個沒有方法完全防止問題,只能是盡量減少損失。應(yīng)對的措施主要是進(jìn)行IDC分布,當(dāng)一個IDC出現(xiàn)問題的時候,不會影響到另一個IDC的玩家。FO采用兩個Cluster,多個World的方式。如果Cluster正常,只是World出現(xiàn)問題,那么受影響的只是出問題的World的玩家。如果Cluster出現(xiàn)問題,World正常,由于World和Cluster只在用戶登入、登出和某些特殊的事件進(jìn)行通信,那么已經(jīng)登入的用戶還是可以繼續(xù)游戲,但是新用戶將不能登陸。所有開放內(nèi)網(wǎng)監(jiān)聽端口的應(yīng)用程序都采用了限制IP的機(jī)制,報障了只有內(nèi)部IP可以訪問。所有開發(fā)外網(wǎng)監(jiān)聽端口的應(yīng)用程序采用了超時限制和包大小限制來報障黑客的拒絕效勞攻擊,此外對于與外網(wǎng)的通信協(xié)議采用了加密算法,防止黑客的探測攻擊。軟件故障Dir效勞器 Dir效勞器是客戶端拉取游戲分區(qū)信息的效勞器,是用戶進(jìn)行游戲的第一個入口。一個Dir效勞器為一個cluster效勞,如果Dir效勞器出現(xiàn)故障,會對用戶的登陸產(chǎn)生嚴(yán)重的影響。由于Dir效勞器不保存任何數(shù)據(jù),可以說是沒有狀態(tài)的。因此Dir效勞器可以采用對稱多處理的方式。Dir效勞器的信息來源是Zone效勞器上報的信息,為了提供容錯,Zone效勞器將向兩個Dir效勞器同時上報同樣的信息,這樣在兩個Dir效勞器中產(chǎn)生完全相同的兩份數(shù)據(jù),當(dāng)其中一臺Dir效勞器失效的時候,另一臺可以繼續(xù)提供效勞。在客戶端可以提供一個訪問策略,先隨即選擇一臺Dir效勞器,如果該效勞器不能提供效勞,再選擇另一臺Dir效勞器。 對于可伸縮性的考慮。由于Dir效勞器是為Cluster效勞的,因此,Dir效勞器的負(fù)載變動的范圍可能會比較大。采用兩個Dir效勞器對稱處理的方式提供了高可用性,也提高了一倍的負(fù)載能力,但是還是可能會出現(xiàn)負(fù)載過大的情況。如果兩臺Dir效勞器不能滿足效勞器的需要,那么可以考慮復(fù)制
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45131-2025鍋爐用水和冷卻水分析方法磷酸鹽、氯化物、硅酸鹽、總堿度、酚酞堿度、硬度和鐵的測定基于間斷分析系統(tǒng)的分光光度法
- 【正版授權(quán)】 ISO TS 81001-2-1:2025 EN Health software and health IT systems safety,effectiveness and security - Part 2-1: Coordination - Guidance for the use of assurance cases for safe
- 新能源智能電網(wǎng)項目合作框架協(xié)議
- 電子廢物回收處理項目合同
- 水管采購合同
- 熱泵供暖設(shè)備采購合同
- 重慶簡單房屋租賃合同(31篇)
- 電子商務(wù)平臺賣家權(quán)益保護(hù)協(xié)議
- 自愿送養(yǎng)收養(yǎng)協(xié)議書
- 年度活動策劃與執(zhí)行工作方案
- 運(yùn)動會活動流程中的醫(yī)療安全保障措施
- 2025公司員工試用期合同(范本)
- 第十章皮膚軟組織擴(kuò)張術(shù)醫(yī)學(xué)美容教研室袁曉野講解
- 2025年冷鏈物流產(chǎn)品配送及倉儲管理承包合同3篇
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 浙教版2023小學(xué)信息技術(shù)六年級上冊《人機(jī)對話的實現(xiàn)》說課稿及反思
- 2025年山東出版集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 【開題報告】中小學(xué)校鑄牢中華民族共同體意識教育研究
- 2022+ADA/EASD共識報告:2型糖尿病高血糖的管理
- 2024-2025學(xué)年云南省大理州七年級(上)期末英語試卷(含答案)
- 中國遠(yuǎn)洋海運(yùn)集團(tuán)招聘筆試沖刺題2025
評論
0/150
提交評論