某公司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頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(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è)計(jì) 23.1 設(shè)計(jì)原那么 23.1.1 產(chǎn)品關(guān)聯(lián)性原那么 23.1.2 產(chǎn)品依賴原那么 23.2 設(shè)計(jì)目標(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 雜項(xiàng)設(shè)備和流量需求 184.4.5 總計(jì) 224.5 負(fù)載均衡分析 224.5.1 負(fù)載均衡策略 224.5.2 異地分布策略 224.6 容災(zāi)備份分析 225 部署方案 246 風(fēng)險(xiǎn)分析及躲避措施 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è)計(jì)設(shè)計(jì)原那么產(chǎn)品關(guān)聯(lián)性原那么盡量保持產(chǎn)品的獨(dú)立性在與其他產(chǎn)品進(jìn)行交互時(shí)僅提供必須的接口,以減少復(fù)雜度和錯(cuò)誤發(fā)生的可能性。在與其他產(chǎn)品交互的時(shí)候都通過一個(gè)中間進(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è)計(jì)目標(biāo)路標(biāo)規(guī)劃階段開始時(shí)間完成時(shí)間階段目標(biāo)和工作進(jìn)度指標(biāo)DEMO2003年10月272004年1月9DEMO的制作AHPLA12004年1月92實(shí)現(xiàn)職業(yè)換裝的人物頭發(fā)換色完成以下界面:(1)開始選單(2)控制面板(3)人物狀態(tài)欄完成戰(zhàn)斗攻擊系統(tǒng)地圖編輯器:(1)人物換色數(shù)據(jù)組織(2)公用物件編輯(3)圖素拼接地表特效編輯器:實(shí)現(xiàn)戰(zhàn)斗被擊特效編輯.AHPLA222增加道具系統(tǒng)構(gòu)建游戲的第一個(gè)城鎮(zhèn)AHPLA322組隊(duì)系統(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è)的技能(考慮紙娃娃實(shí)現(xiàn),延后進(jìn)行)進(jìn)行功能完善:AHPLA622完成界面的改進(jìn)實(shí)現(xiàn)傳送系統(tǒng)Server后臺(tái)功能實(shí)現(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月第四周工會(huì)系統(tǒng)〔根本功能〕怪物屬性傷害〔全部〕支持代理效勞器玩MMOG任務(wù)〔局部〕交通飛空艇收費(fèi)版2005年4月第一周2005年8月第二周寵物系統(tǒng)-戰(zhàn)斗〔完成〕半自由PK系統(tǒng)工會(huì)系統(tǒng)〔工會(huì)戰(zhàn)〕任務(wù)〔局部〕新地圖-新大陸〔可選〕婚姻系統(tǒng)國慶版2005年4月第一周2005年9月第四周全自由PK系統(tǒng)〔預(yù)先完成〕攻城戰(zhàn)工會(huì)飛空艇系統(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)功能需求實(shí)時(shí)戰(zhàn)斗模式,server用2D方式實(shí)現(xiàn),client端可以為2D或者3D沙盤用QQ號碼登錄游戲,不需單獨(dú)注冊通過QQserver驗(yàn)證,用Kerberos方式實(shí)現(xiàn)C/S128bit對稱加密用戶登錄后,可以在一個(gè)world的不同地圖,不同server自由切換,不需重新連接用戶的前端連接和后臺(tái)server處理邏輯別離,后臺(tái)server的處理邏輯可以透明更新,不影響在線用戶支持后臺(tái)自動(dòng)更新。Client端需要更新版本時(shí),用戶可以一邊玩一邊后臺(tái)更新。當(dāng)?shù)卿浻脩粢呀?jīng)下載好新版本超過一定比例時(shí)才要求強(qiáng)行更新〔如大于80%〕server盡可能支持不同版本的client登錄。Client在升級失敗時(shí)可以回退。系統(tǒng)性能需求最小化容量:在一臺(tái)機(jī)器上支持一個(gè)完整的world,約5-10萬注冊用戶,1000-2最大化容量:在同一個(gè)IDC大區(qū)下,支持50萬在線用戶,劃分5-50個(gè)world,每個(gè)world支持1–20萬在線用戶。以平均每臺(tái)機(jī)器支撐600-1000用戶計(jì)算,大概是一個(gè)500-8通過簡單的配置,可以較方便地實(shí)現(xiàn)從最小化到最大化的伸縮考慮到實(shí)際情況,可能是在假設(shè)干個(gè)大的地區(qū),安裝200臺(tái)左右的機(jī)器,支持10萬-20萬在線用戶。較小的地區(qū)采用更小的規(guī)模。響應(yīng)速度要求:用戶登陸時(shí)間<5s,在一臺(tái)1000-200系統(tǒng)總體架構(gòu)系統(tǒng)物理架構(gòu)FO采用兩個(gè)Cluster,多個(gè)World的方式。 FO的根本架構(gòu)是由三層組成:最上一層是Cluster,主要是管理帳號和計(jì)費(fèi),在一個(gè)Cluster中,一個(gè)帳號只能登錄一次。中間一層是World,主要是管理玩家角色數(shù)據(jù),World之間的角色數(shù)據(jù)是互不相關(guān)的,同一個(gè)帳號可以在每個(gè)World中創(chuàng)立最多三個(gè)角色。最下一層是Zone,負(fù)責(zé)游戲的邏輯,Zone效勞器是用戶直接相關(guān)的效勞器,屬于同一個(gè)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é)生族群為主增加對女性玩家的吸引力,帶動(dòng)男性玩家用戶入口QQ夢想客戶端桌面入口QQ客戶端菜單入口QQgame游戲大廳入偶Gameportal網(wǎng)頁入口收費(fèi)策略會(huì)員制,包月用戶收費(fèi),價(jià)格不高于40元人民幣會(huì)員制,包周用戶收費(fèi),價(jià)格不高于15元人民幣虛擬物品販賣收費(fèi),單價(jià)0.1Q幣~10Q幣不等產(chǎn)品依賴關(guān)系QQ客戶端上的入口及會(huì)員標(biāo)志等多種表現(xiàn)形式QQgame游戲大廳入口,游戲內(nèi)可進(jìn)行QQgame的小游戲等與短信、QQ音樂等增殖業(yè)務(wù)結(jié)合增加收入QQ秀,QQ堂等業(yè)務(wù)推出宣傳性道具和地圖等內(nèi)嵌QQ和QQmail發(fā)送功能寵物設(shè)計(jì)與QQ寵物結(jié)合一致典型業(yè)務(wù)過程一個(gè)完整的用戶登錄過程如以下圖所示:用戶輸入帳號和密碼,客戶端開始連接QQ簽名效勞器。QQ簽名效勞器根據(jù)用戶輸入的帳號和密碼,進(jìn)行鑒權(quán),并返回簽名??蛻舳诉B接Dir效勞器,試圖獲得Zone效勞器的目錄列表。Dir效勞器返回當(dāng)前可用的Zone效勞器列表以及負(fù)載信息。用戶選擇要連接的Zone效勞器,發(fā)送連接請求和簽名信息。Zone接到請求后,驗(yàn)證該簽名,并向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)的帳號登錄處理,并通知客戶端。一個(gè)典型的用戶操作過程:Client向Zone效勞器發(fā)送移動(dòng)或打斗的操作。Zone效勞器計(jì)算出Client移動(dòng)的新位置或打斗的動(dòng)作,將它反射給其他Client,使得其他用戶可見。Zone效勞器定時(shí)將Client操作后的數(shù)據(jù)同時(shí)給World效勞器一個(gè)典型的用戶查詢過程:Client向Zone效勞器發(fā)送查詢請求。Zone效勞器將此請求發(fā)送給World效勞器。World效勞器將查詢后的結(jié)果返回給Zone效勞器。Zone效勞器將查詢結(jié)果返回給Client。用戶模型分析用戶根底信息一個(gè)Cluster支持的在線用戶為500K一個(gè)World支持的在線用戶為5000一個(gè)Zone支持的在線用戶為1500單個(gè)用戶平均在線時(shí)間:1小時(shí)/每天在線與注冊用戶比例:5%活潑與注冊用戶比例:20%用戶操作信息用戶登錄:按每個(gè)Cluster有500K同時(shí)在線人數(shù),平均每人每天1小時(shí)的在線時(shí)長,那么將造成約140次/s登錄請求,這樣World將有140次/s訪問Cluster〔內(nèi)網(wǎng)訪問〕,Cluster將有140次/s訪問ClusterDB〔數(shù)據(jù)庫操作〕。按每個(gè)World有5000人同時(shí)在線人數(shù),平均每人每天1小時(shí)的在線時(shí)長,那么將造成約1.4次/s登錄請求,這樣Zone將有1.4次/s訪問World〔內(nèi)網(wǎng)訪問〕,World將有1.4/s訪問WorldDB〔數(shù)據(jù)庫操作〕。按每個(gè)Zone有1500人同時(shí)在線人數(shù),平均每人每天1小時(shí)的在線時(shí)長,那么將造成0.42次/s登錄請求,這樣Client將有0.42次/s訪問Zone〔外網(wǎng)訪問〕。用戶注銷:按每個(gè)Cluster有500K同時(shí)在線人數(shù),平均每人每天1小時(shí)的在線時(shí)長,那么將造成約140次/s注銷請求,這樣World將有140次/s訪問Cluster〔外網(wǎng)訪問〕,Cluster將有140次/s訪問ClusterDB〔數(shù)據(jù)庫操作〕。按每個(gè)World有5000人同時(shí)在線人數(shù),平均每人每天1小時(shí)的在線時(shí)長,那么將造成約1.25次/s注銷請求,這樣Zone將有1.4次/s訪問World〔內(nèi)網(wǎng)訪問〕,World將有1.4/s訪問WorldDB〔數(shù)據(jù)庫操作〕。按每個(gè)Zone有1500人同時(shí)在線人數(shù),平均每人每天1小時(shí)的在線時(shí)長,那么將造成0.42次/s注銷請求,這樣Client將有0.42次/s訪問Zone〔外網(wǎng)訪問〕。用戶移動(dòng)〔網(wǎng)絡(luò)游戲中的角色行走〕:按每個(gè)Zone有1500人同時(shí)在線人數(shù),平均每人每天1小時(shí)在線時(shí)長,每人每秒移動(dòng)1次,每個(gè)用戶平均被10個(gè)其他用戶可見,那么造成15K次/s的移動(dòng)請求,這樣Client將有15K次/s訪問Zone〔外網(wǎng)訪問〕。按每個(gè)World有5000人同時(shí)在線人數(shù),每3分鐘同時(shí)一次Zone的數(shù)據(jù),那么將造成27次/s同時(shí)請求,這樣Zone將有27/s訪問World〔內(nèi)網(wǎng)訪問〕,World將有25/s訪問WorldDB〔數(shù)據(jù)庫操作〕。用戶攻擊〔網(wǎng)絡(luò)游戲中的角色打斗〕:按每個(gè)Zone有1500人同時(shí)在線人數(shù),平均每人每天1小時(shí)在線時(shí)長,每人每秒攻擊1次,每個(gè)用戶平均被10個(gè)其他用戶可見,那么造成15K次/s的攻擊請求,這樣Client將有15K次/s訪問Zone〔外網(wǎng)訪問〕。Zone與World的同時(shí)請求與用戶移動(dòng)的操作同時(shí)進(jìn)行,故不再累計(jì)。用戶查詢〔網(wǎng)絡(luò)游戲中角色查詢貨艙等操作〕:按每個(gè)Zone有1500人同時(shí)在線人數(shù),每10分鐘查詢一次數(shù)據(jù),那么造成2.5次/s查詢請求,這樣Client將有2.5次/s訪問Zone〔外網(wǎng)訪問〕。按每個(gè)World有5000人同時(shí)在線人數(shù),每10分鐘查詢一次數(shù)據(jù),那么造成8.3次/s查詢請求,這樣Zone將有7.5次/s訪問World〔內(nèi)網(wǎng)訪問〕,World將有8.3次/s訪問WorldDB〔數(shù)據(jù)庫操作〕??傆?jì):Cluster: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用戶移動(dòng)請求流量〔Client-Zone〕:100Bytes用戶攻擊請求流量〔Client-Zone〕:100Bytes聊天消息流量:140Bytes日志信息流量:140Bytes單位用戶流量〔平均用戶每1秒攻擊一次,每1秒移動(dòng)一次,每一個(gè)用戶平均被10個(gè)其他用戶可見〕: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 一個(gè)world可以包含多個(gè)zoneserver,每個(gè)zoneserver管理一塊或者多塊地圖。一個(gè)world最多包括100個(gè)zoneserver,每個(gè)處理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平均在線時(shí)長:1小時(shí)公式計(jì)算結(jié)果備注存儲(chǔ)要求注冊用戶數(shù)×單位用戶信息10M×100Byte=1G其中100Byte是單位用戶信息帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×〔World與Cluster之間通信量〕/在線時(shí)間×8Bit500K*〔100Byte+100Byte〕/3600*8Bit=0.22Mbps其中第一個(gè)100Byte是Login的開銷,后100Byte是Logout的開銷帶寬要求〔外網(wǎng)〕無機(jī)器要求2臺(tái)G3雙機(jī)熱備,1臺(tái)為主,另一臺(tái)備份關(guān)鍵負(fù)荷分析280個(gè)/s的數(shù)據(jù)包280次/s的數(shù)據(jù)庫操作數(shù)據(jù)包數(shù)不是瓶頸,其中140次/s的Select操作〔Login〕,140次/s的Update操作〔Logout〕,由于Select和Update的數(shù)據(jù)量較小,不會(huì)造成數(shù)據(jù)庫的訪問瓶頸World設(shè)備和流量要求World:在線人數(shù):4500注冊人數(shù):4500/5%=90K平均在線時(shí)長:1小時(shí)公式計(jì)算結(jié)果備注存儲(chǔ)要求注冊用戶數(shù)×〔角色數(shù)據(jù)+保管箱數(shù)據(jù)+郵件數(shù)據(jù)+寄售物品數(shù)據(jù)〕90K×〔75K+12K+120K+0.6K〕=18.68G角色數(shù)據(jù)=〔5K〔背包〕+5K〔任務(wù)〕+12K〔贈(zèng)送記錄〕+3K〔根本數(shù)據(jù)〕〕*3〔每個(gè)帳號可以創(chuàng)立3個(gè)角色〕=75K保管箱數(shù)據(jù)=4K〔大、小保管箱〕*3〔每個(gè)帳號可以創(chuàng)立3個(gè)角色〕=12K郵件數(shù)據(jù)=1K〔每封〕*40〔每個(gè)角色〕*3〔每個(gè)帳號可以創(chuàng)立3個(gè)角色〕=120K寄售物品數(shù)據(jù)=〔5〔byte〕*40〕〔寄售物品〕*3〔每個(gè)帳號可以創(chuàng)立3個(gè)角色〕=0.6K帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×〔登錄請求/在線時(shí)間+定時(shí)更新/更新頻率+查詢請求/查詢頻率〕×8Bit4500*〔16Bytes+94Byte+12Byte〕*8Bit=0.44Mbps登錄請求=5K〔背包〕+5K〔任務(wù)〕+3K〔根本數(shù)據(jù)〕+4K〔大、小保管箱〕+40*1K〔郵件〕/3600=16Bytes假定更新頻率為3分鐘,定時(shí)更新=5K〔背包〕+5K〔任務(wù)〕+3K〔根本數(shù)據(jù)〕+4K〔大、小保管箱〕/180=94Byte假定查詢頻率為10分鐘,7K/600=12Byte帶寬要求〔外網(wǎng)〕無機(jī)器要求2臺(tái)G3雙機(jī)熱備,1臺(tái)為主,另一臺(tái)備份關(guān)鍵負(fù)荷分析35個(gè)/s的數(shù)據(jù)包,35次/s的數(shù)據(jù)庫操作由于網(wǎng)絡(luò)包數(shù)和數(shù)據(jù)庫操作較少,所有沒有瓶頸問題Zone設(shè)備和流量需求假定一個(gè)Zone支持的最高人數(shù)為1500,平均人數(shù)為100Zone:在線人數(shù):1500單位用戶流量:20Kbps平均在線時(shí)長:1小時(shí)公式計(jì)算結(jié)果備注存儲(chǔ)要求無帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×〔登錄請求/在線時(shí)間+定時(shí)更新/更新頻率+切換Zone/切換頻率〕×8Bit1500*〔15Bytes+94Bytes+167Bytes〕*8Bit=3.3Mbps登錄請求=〔5K〔背包〕+5K〔任務(wù)〕+3K〔根本數(shù)據(jù)〕+4K〔大、小保管箱〕+40*1K〔郵件〕〕/3600=15Byte假定更新頻率為3分鐘,定時(shí)更新=〔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秒移動(dòng)一次,每一個(gè)用戶平均被10個(gè)其他用戶可見。10×200Bytes=2K機(jī)器要求1臺(tái)NRS關(guān)鍵負(fù)荷分析30K個(gè)/s的數(shù)據(jù)包30K個(gè)/s的數(shù)據(jù)包將成為數(shù)據(jù)訪問的瓶頸,但由于估算是考慮的是每個(gè)人每秒移動(dòng)并且攻擊一次,而且每個(gè)人都將給其他10個(gè)看到,考慮到并不是所有人都在移動(dòng)或攻擊狀態(tài),所以按30%統(tǒng)計(jì),9K個(gè)/s的數(shù)據(jù)包也應(yīng)該不會(huì)對系統(tǒng)造成訪問瓶頸雜項(xiàng)設(shè)備和流量需求客戶端版本檢查效勞器客戶端版本大?。?00M在線用戶:500K平均在線時(shí)間:1小時(shí)更新版本用戶:200K每天下載版本用戶:20K公式計(jì)算結(jié)果備注存儲(chǔ)要求客戶端版本大小×保存的版本數(shù)量600M×2=1.2G帶寬要求〔內(nèi)網(wǎng)〕帶寬要求〔外網(wǎng)〕〔在線人數(shù)×版本檢測流量/在線時(shí)間+更新用戶數(shù)×版本更新流量/更新時(shí)間+下載人數(shù)×下載流量〕×8Bit〔500K×0.28Byte+200K×291Bytes+20K×1K〕×8Bit=0.67Gbps假設(shè)版本檢測需要1K流量,版本檢測=1K/3600=0.28Byte假設(shè)每次更新大小為4M數(shù)據(jù),每次更新時(shí)間為4小時(shí),更新流量=4M/3600/4=291Byte假設(shè)采用P2P技術(shù)可以節(jié)省80%的帶寬流量,600M/3600/24/4=1K機(jī)器要求3臺(tái)NRS(千兆網(wǎng)卡)以每臺(tái)可以支撐的有效負(fù)載流量250Mbps來計(jì)算關(guān)鍵負(fù)荷分析下載新版本流量為8Kbps考慮到公測的前一個(gè)月下載人數(shù)可能在100K左右,流量帶寬將有0.8Gbps,所以在公測前期可能的帶寬流量為1.3GbpsWeb效勞器公式計(jì)算結(jié)果備注存儲(chǔ)要求帶寬要求〔內(nèi)網(wǎng)〕帶寬要求〔外網(wǎng)〕150Mbps參考?凱旋?,?凱旋?的官網(wǎng)流量約為100MBps。機(jī)器要求2臺(tái)NRS(千兆網(wǎng)卡)+1臺(tái)G3關(guān)鍵負(fù)荷分析語音效勞器在線人數(shù):500K語音聊天人數(shù):500K×10%=50K單位語言流量〔一路〕:15Kbps公式計(jì)算結(jié)果備注存儲(chǔ)要求帶寬要求〔內(nèi)網(wǎng)〕帶寬要求〔外網(wǎng)〕語音聊天人數(shù)×語音流量50K×15K=725Mbps機(jī)器要求3臺(tái)NRS(千兆網(wǎng)卡)以每臺(tái)可以支撐的有效負(fù)載流量250Mbps來計(jì)算關(guān)鍵負(fù)荷分析Dir效勞器在線人數(shù):500K平均在線時(shí)長:1小時(shí)公式計(jì)算結(jié)果備注存儲(chǔ)要求帶寬要求〔內(nèi)網(wǎng)〕帶寬要求〔外網(wǎng)〕在線人數(shù)×〔Dir返回Client的游戲目錄列表〕×8bit500K*〔200+1000Byte〕/3600*8Bit機(jī)器要求2臺(tái)NRS雙機(jī)熱備,1臺(tái)為主,另一臺(tái)備份關(guān)鍵負(fù)荷分析道具及支付效勞器因?yàn)槭窍啾日諗M獨(dú)立的系統(tǒng),F(xiàn)O8月份開始收費(fèi),設(shè)備和帶寬需求可以在Q3提。Config和Monitor效勞器提供配置和監(jiān)控,沒有外網(wǎng)流量。內(nèi)網(wǎng)流量很少,可不予考慮。 對于大的Cluster可以考慮使用2臺(tái),小的Cluster使用1臺(tái)。存儲(chǔ)要求:無。帶寬要求:無。機(jī)器要求:NRS,1—2臺(tái)。Dispatch效勞器Dispatch效勞器用來轉(zhuǎn)發(fā)消息和聊天信息。主要的流量在聊天消息和切換Zone消息。在線人數(shù):4500聊天信息:0.5條/sZone切換次數(shù):1次/3分鐘公式計(jì)算結(jié)果備注存儲(chǔ)要求帶寬要求〔內(nèi)網(wǎng)〕在線人數(shù)×〔聊天信息+Zone切換信息〕×8bit4500*〔140/2+30K/180〕*8bit=8.52Mbps帶寬要求〔外網(wǎng)〕機(jī)器要求1臺(tái)NRS關(guān)鍵負(fù)荷分析包數(shù)為2250通信的包數(shù)也不是瓶頸Log效勞器Log效勞器主要用來記錄玩家的操作,產(chǎn)生玩家的操作流水日志。每兩秒產(chǎn)生一次記錄。每天游戲時(shí)間以12小時(shí)計(jì)算。在線人數(shù):4500平均在線時(shí)長:1小時(shí)日志信息:0.5條/s日志保存時(shí)間:30天公式計(jì)算結(jié)果備注存儲(chǔ)要求在線人數(shù)×日志信息×每天日志條數(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臺(tái)關(guān)鍵負(fù)荷分析包數(shù)為2250流量帶寬不是瓶頸,通信的包數(shù)也不是瓶頸總計(jì)一個(gè)World的總計(jì)〔按照一個(gè)World包含3個(gè)Zone計(jì)算〕:帶寬要求〔內(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臺(tái)NRS〔Zone〕+1臺(tái)NRS〔Dispatch〕=4〔臺(tái)〕G3:2臺(tái)G3〔World〕+1臺(tái)G3〔Log〕=3〔臺(tái)〕一個(gè)Cluster的總計(jì):帶寬要求〔內(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臺(tái)百兆下載〕+1〔QQ驗(yàn)證〕=13〔臺(tái)〕G3:1〔Cluster〕*2+1〔WebDB〕= 3〔臺(tái)〕負(fù)載均衡分析負(fù)載均衡策略FO的負(fù)載均衡以增加新的World作為負(fù)載均衡的主要手段。每一個(gè)World是一個(gè)相對獨(dú)立的局部,可以支撐玩家在其中進(jìn)行游戲。World的增加,會(huì)導(dǎo)致Cluster的負(fù)載增加,由于Cluster與World的交互很少,因此對Cluster的影響較小。當(dāng)隨著World的增加導(dǎo)致Cluster的負(fù)載太大,單臺(tái)效勞器不能承受的時(shí)候,可以考慮對Cluster進(jìn)行分布,每個(gè)Cluster僅為指定QQ號段效勞,這樣可以實(shí)現(xiàn)Cluster的負(fù)載均衡。異地分布策略FO的異地分布策略主要是如下兩條:FO是否在某個(gè)城市進(jìn)行分布和分布的數(shù)量,是根據(jù)該城市潛在的游戲用戶數(shù)來確定,潛在用戶數(shù)多,那么分布的World多,否那么分布的就少。覆蓋度原那么,每在一個(gè)城市進(jìn)行分布,那么除了可以為該城市的游戲用戶進(jìn)行效勞,也可以為相鄰的一些城市提供效勞。在進(jìn)行分布的時(shí)候,遵循的原那么是:使用盡可能少的分布點(diǎn)來到達(dá)盡可能大的覆蓋度。容災(zāi)備份分析對于游戲運(yùn)營,最重要的就是用戶數(shù)據(jù),因此所有的手段都是圍繞一個(gè)目的,即保證用戶的數(shù)據(jù)不出現(xiàn)問題。為了保證極端情況下,盡可能的減少用戶數(shù)據(jù)的損失,數(shù)據(jù)備份是一個(gè)很重要的手段。 按照內(nèi)測的數(shù)據(jù),7MByte的存儲(chǔ),12320個(gè)角色,平均每個(gè)角色的存儲(chǔ)為6按照每個(gè)角色根本數(shù)據(jù)的最大值來計(jì)算,每個(gè)角色的根本數(shù)據(jù)為30K: 30K(單一角色存儲(chǔ))*90K〔最高在線人數(shù)〕*10(角色數(shù)與最高在線人數(shù)比) = 27G〔Byte〕那么保存30天的數(shù)據(jù)量為: 27G*30 = 840G因?yàn)樯鲜鲋凳前凑兆畋J氐姆绞絹碛?jì)算的,實(shí)際的數(shù)據(jù)量應(yīng)不超過上述計(jì)算值的一半,如果再加上壓縮,那么實(shí)際的存儲(chǔ)應(yīng)不超過200目前FO的備份方案是:分南北兩個(gè)Cluster各自使用一個(gè)磁盤柜進(jìn)行備份,備份的方式是采用全量備份,每天進(jìn)行一次備份,備份時(shí)間為1~2個(gè)月〔視具體情況而定〕。如果有條件的話,還可以考慮使用磁帶機(jī)進(jìn)行備份,每周全量備份一次。部署方案 目前FO的IDC分布規(guī)劃如以下圖所示: 分為南方和北方兩個(gè)Cluster〔分別針對不同的運(yùn)營商:電信和網(wǎng)通〕。 每個(gè)大區(qū)下面根據(jù)需要有不同的World。 每個(gè)world預(yù)計(jì)承載4500人,由三臺(tái)效勞器共同提供效勞,單臺(tái)效勞器的負(fù)載在1500人左右。 每個(gè)玩家的流量為15-20kbps。風(fēng)險(xiǎn)分析及躲避措施總的來講,F(xiàn)O運(yùn)營的風(fēng)險(xiǎn)可以分成硬件故障和軟件故障兩大類。硬件的故障包括機(jī)器的故障、磁盤故障、IDC線路故障,黑客攻擊等。 軟件的故障包括數(shù)據(jù)庫失效、程序失效等等。硬件故障針對不同的硬件故障,提供不同的應(yīng)對策略。機(jī)器、磁盤故障對于機(jī)器或者磁盤故障的應(yīng)對方式有兩種:主動(dòng)方式:對運(yùn)行一些重要應(yīng)用的機(jī)器提供HA方案,雙機(jī)熱備,當(dāng)其中一臺(tái)失效的時(shí)候,由另一臺(tái)接管其工作。采用這種方式,可以把故障的處理時(shí)間降到10-20分鐘。在另一臺(tái)機(jī)器接管工作之后,再對故障機(jī)器進(jìn)行檢查,根據(jù)具體情況或更換、或修理。在失效機(jī)器恢復(fù)正常之后,失效機(jī)器以備機(jī)的身份重新開始效勞。被動(dòng)方式:對于運(yùn)行不重要應(yīng)用的機(jī)器提供快速更換效勞。快速更換效勞指的是機(jī)器上的應(yīng)用和配置都已準(zhǔn)備好,當(dāng)出現(xiàn)故障,需要更換其它機(jī)器時(shí),只要對該效勞器稍作修改就可以代替故障機(jī)器。 FO采取的措施是兩者皆用,一方面在每個(gè)IDC機(jī)房內(nèi)準(zhǔn)備一些備用機(jī)器,另一方面對關(guān)系到用戶數(shù)據(jù)的機(jī)器提供HA方案。 具體的方式是:每個(gè)IDC視支撐人數(shù)的大小,確定備用機(jī)器的數(shù)量和種類。對于小的IDC,保存2臺(tái)備用機(jī),1臺(tái)為數(shù)據(jù)庫備用機(jī),1臺(tái)為前端備用機(jī)。大的IDC,保存4臺(tái)備用機(jī),2臺(tái)數(shù)據(jù)庫,2臺(tái)前端。對于Cluster〔賬號和計(jì)費(fèi)〕效勞器和World〔角色〕效勞器提供HA方案,保證用戶的數(shù)據(jù)可以很快恢復(fù)訪問。IDC線路故障和黑客攻擊對于IDC線路故障和黑客攻擊,這個(gè)沒有方法完全防止問題,只能是盡量減少損失。應(yīng)對的措施主要是進(jìn)行IDC分布,當(dāng)一個(gè)IDC出現(xiàn)問題的時(shí)候,不會(huì)影響到另一個(gè)IDC的玩家。FO采用兩個(gè)Cluster,多個(gè)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ī)制,報(bào)障了只有內(nèi)部IP可以訪問。所有開發(fā)外網(wǎng)監(jiān)聽端口的應(yīng)用程序采用了超時(shí)限制和包大小限制來報(bào)障黑客的拒絕效勞攻擊,此外對于與外網(wǎng)的通信協(xié)議采用了加密算法,防止黑客的探測攻擊。軟件故障Dir效勞器 Dir效勞器是客戶端拉取游戲分區(qū)信息的效勞器,是用戶進(jìn)行游戲的第一個(gè)入口。一個(gè)Dir效勞器為一個(gè)cluster效勞,如果Dir效勞器出現(xiàn)故障,會(huì)對用戶的登陸產(chǎn)生嚴(yán)重的影響。由于Dir效勞器不保存任何數(shù)據(jù),可以說是沒有狀態(tài)的。因此Dir效勞器可以采用對稱多處理的方式。Dir效勞器的信息來源是Zone效勞器上報(bào)的信息,為了提供容錯(cuò),Zone效勞器將向兩個(gè)Dir效勞器同時(shí)上報(bào)同樣的信息,這樣在兩個(gè)Dir效勞器中產(chǎn)生完全相同的兩份數(shù)據(jù),當(dāng)其中一臺(tái)Dir效勞器失效的時(shí)候,另一臺(tái)可以繼續(xù)提供效勞。在客戶端可以提供一個(gè)訪問策略,先隨即選擇一臺(tái)Dir效勞器,如果該效勞器不能提供效勞,再選擇另一臺(tái)Dir效勞器。 對于可伸縮性的考慮。由于Dir效勞器是為Cluster效勞的,因此,Dir效勞器的負(fù)載變動(dòng)的范圍可能會(huì)比較大。采用兩個(gè)Dir效勞器對稱處理的方式提供了高可用性,也提高了一倍的負(fù)載能力,但是還是可能會(huì)出現(xiàn)負(fù)載過大的情況。如果兩臺(tái)Dir效勞器不能滿足效勞器的需要,那么可以考慮復(fù)制

溫馨提示

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

最新文檔

評論

0/150

提交評論