版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
大寶(sodme)2010.12.20網(wǎng)游服務(wù)器架構(gòu)設(shè)計(jì)2韓服網(wǎng)絡(luò)拓?fù)鋱D國(guó)服網(wǎng)絡(luò)拓?fù)鋱D3韓版架構(gòu):一組七類(lèi)進(jìn)程,玩家三線(xiàn)連接韓版優(yōu)劣:架構(gòu)復(fù)雜,難以查證、跟蹤與調(diào)試,難以上手、維護(hù)與培訓(xùn),不穩(wěn)定,性能差,邏輯易混亂,最高僅1500人;優(yōu)點(diǎn)是同內(nèi)容下玩家數(shù)量可擴(kuò)充單服國(guó)服架構(gòu):一組兩類(lèi)進(jìn)程,玩家單線(xiàn)連接國(guó)服優(yōu)劣:最高2900人,單線(xiàn)管理不易擴(kuò)充單服韓版與國(guó)服對(duì)比4何謂架構(gòu)(作為動(dòng)詞)?“架構(gòu)”就是程序人員對(duì)需求的設(shè)計(jì),對(duì)各個(gè)產(chǎn)品、各種功能、各部分模塊及流程多種需求的設(shè)計(jì)有哪些架構(gòu)(作為名詞)?網(wǎng)絡(luò),邏輯,數(shù)據(jù)流,功能(策劃案),配置表(數(shù)據(jù)結(jié)構(gòu))架構(gòu)從哪里來(lái)?從需求中來(lái)。哪些需求?玩法的、安全的、性能的、運(yùn)營(yíng)的,甚至是團(tuán)隊(duì)成長(zhǎng)的如何成長(zhǎng)為架構(gòu)師?學(xué)習(xí),參考,實(shí)踐,驗(yàn)證,改進(jìn)5關(guān)于架構(gòu)設(shè)計(jì)原則:簡(jiǎn)單,可控,穩(wěn)定,高性能一些具體的設(shè)計(jì)目標(biāo)(略舉一二):
大二的學(xué)生都可以讀得懂、能寫(xiě)、能控
因事沒(méi)來(lái)上班時(shí),有人能動(dòng)你的代碼
不怕有問(wèn)題,隨時(shí)可追查設(shè)計(jì)框架:一組服務(wù)器僅含兩個(gè)進(jìn)程,DB負(fù)責(zé)數(shù)據(jù)緩存、賬號(hào)認(rèn)證、計(jì)費(fèi)通信等第三方接口接入;GAME負(fù)責(zé)游戲邏輯、玩法、游戲內(nèi)容構(gòu)建國(guó)服版本設(shè)計(jì)方法67DB架構(gòu)設(shè)計(jì)圖數(shù)據(jù)緩存策略:賬號(hào)列表管理,同賬號(hào)下最多三角色數(shù)據(jù)緩存(讀取規(guī)則,緩存上限,調(diào)度策略)全局性數(shù)據(jù)存取策略:開(kāi)機(jī)即讀取,定時(shí)保存,全局快照第三方接口通信策略:基于防御性的接口互訪(fǎng)規(guī)則(日志審計(jì),邏輯防御),基于驗(yàn)證重發(fā)的通信規(guī)則DB架構(gòu)設(shè)計(jì)8嚴(yán)重問(wèn)題:DOWN機(jī)(內(nèi)存,數(shù)據(jù)庫(kù)訪(fǎng)問(wèn),登錄堵塞),數(shù)據(jù)錯(cuò)亂,數(shù)據(jù)不保存解決方法:
盡可能簡(jiǎn)單的表結(jié)構(gòu)
盡可能簡(jiǎn)單的SQL語(yǔ)句
定長(zhǎng)的數(shù)組
可控的壓力閥值(由GAME控制)總目標(biāo):不要讓單玩家掌控你的機(jī)器資源DB設(shè)計(jì)經(jīng)驗(yàn)910GAME架構(gòu)設(shè)計(jì)圖幀輪詢(xún)機(jī)機(jī)制:對(duì)對(duì)象管理理體系;;網(wǎng)絡(luò)、、邏輯、、AOI分線(xiàn)程;;主邏輯輯一秒三三幀,網(wǎng)網(wǎng)絡(luò)發(fā)送送一秒六六幀消息隊(duì)列列機(jī)制::網(wǎng)絡(luò)消消息,AI消息,位位置同步步消息,,數(shù)據(jù)存存取消息息,定時(shí)時(shí)器消息息,腳本本調(diào)用消消息引擎與腳腳本:開(kāi)開(kāi)發(fā)速度度、穩(wěn)定定性、熱熱更新GAME架構(gòu)設(shè)計(jì)計(jì)11邏輯的驅(qū)驅(qū)動(dòng)來(lái)源源:網(wǎng)絡(luò)絡(luò)消息,,AI消息,定定時(shí)器消消息三大大驅(qū)動(dòng)方方式邏輯的驅(qū)驅(qū)動(dòng)方式式:在主主循環(huán)幀幀中分別別處理來(lái)來(lái)自于各各消息隊(duì)隊(duì)列的消消息(便便于統(tǒng)一一管理、、性能監(jiān)監(jiān)控)具體的內(nèi)內(nèi)容組織織:玩家家,NPC、怪、寵寵物,家家族、師師徒、戀戀人,物物品、裝裝備,任任務(wù)、活活動(dòng)等GAME主邏輯架架構(gòu)12對(duì)象的層層級(jí):簡(jiǎn)簡(jiǎn)單動(dòng)態(tài)態(tài)對(duì)象((無(wú)邏輯輯的活物物、空艇艇等),,復(fù)雜動(dòng)動(dòng)態(tài)對(duì)象象(NPC,怪物,,玩家)),對(duì)象象集合((師徒,,戀人,,組隊(duì),,家族,,王國(guó)))個(gè)體對(duì)象象設(shè)計(jì)::定義屬屬性,方方法,常常用接口口,接口口保護(hù),,設(shè)定數(shù)數(shù)據(jù)刷新新、存取取規(guī)則集合對(duì)象象設(shè)計(jì)::定義管管理方式式,數(shù)據(jù)據(jù)結(jié)構(gòu),,數(shù)據(jù)同同步方法法,異常常處理原原則GAME對(duì)象管理理體系13基本模型型:EPOLL數(shù)據(jù)的memcpy:一次性性接收,,無(wú)memcpy;發(fā)數(shù)據(jù)據(jù)時(shí)有一一次memcpy。數(shù)據(jù)緩緩存事先先建立。。數(shù)據(jù)收發(fā)發(fā):統(tǒng)一一的收取取消息隊(duì)隊(duì)列,處處理函數(shù)數(shù);單個(gè)個(gè)玩家獨(dú)獨(dú)立的發(fā)發(fā)送隊(duì)列列,按幀幀發(fā)送,,小包拼拼接。最最多:位位置,對(duì)對(duì)象加載載,狀態(tài)態(tài)。性能:2900人在線(xiàn),,80M帶寬GAME網(wǎng)絡(luò)架構(gòu)構(gòu)14基本模式式:狀態(tài)態(tài)+消息,主主循環(huán)輪輪詢(xún)狀態(tài):空空閑,狂狂燥,逃逃跑,返返回消息:初初始化,,處理,,傷害,,到達(dá),,結(jié)束狀態(tài)與消消息的關(guān)關(guān)系:由由消息實(shí)實(shí)現(xiàn)狀態(tài)態(tài)間跳轉(zhuǎn)轉(zhuǎn),改變變AI策略,由由狀態(tài)的的自輪詢(xún)?cè)儗?shí)現(xiàn)怪怪物智能能的自我我觸發(fā)GAMEAI架構(gòu)15基本模式式:以時(shí)時(shí)間尺作作為排隊(duì)隊(duì)方式,,只執(zhí)行行當(dāng)前時(shí)時(shí)間刻度度的邏輯輯(借鑒鑒linux源代碼))主要功能能:提供供自維護(hù)護(hù)邏輯的的運(yùn)行((技能、、BUFF、安全監(jiān)監(jiān)控、統(tǒng)統(tǒng)計(jì)等))基本實(shí)現(xiàn)現(xiàn):引擎擎層實(shí)現(xiàn)現(xiàn)架構(gòu),,向腳本本層提供供定時(shí)器器訪(fǎng)問(wèn)接接口,腳腳本層通通過(guò)接口口訪(fǎng)問(wèn)相關(guān)功能能:添加加定時(shí)器器(一次次性、輪輪詢(xún)、按按條件控控制),,回調(diào)函函數(shù),定定時(shí)器銷(xiāo)銷(xiāo)毀GAME定時(shí)器架架構(gòu)16基本模式式:行走走、戰(zhàn)斗斗等玩家家主要行行為,皆皆通過(guò)狀狀態(tài)機(jī)機(jī)機(jī)制實(shí)現(xiàn)現(xiàn),“狀狀態(tài)+消息”的的基本觸觸發(fā)方式式狀態(tài):坐坐下,近近攻,遠(yuǎn)遠(yuǎn)攻,站站立,移移動(dòng)等消息:設(shè)設(shè)定狀態(tài)態(tài),刪除除狀態(tài),,開(kāi)始,,終止等等關(guān)系:維維護(hù)一定定時(shí)間,,且與其其他狀態(tài)態(tài)有互斥斥等交互互行為的的可以設(shè)設(shè)定為一一個(gè)狀態(tài)態(tài)GAME狀態(tài)機(jī)架架構(gòu)17基本內(nèi)容容:場(chǎng)景景靜、動(dòng)動(dòng)態(tài)邏輯輯加載,,區(qū)域自自觸發(fā)邏邏輯,對(duì)對(duì)象可見(jiàn)見(jiàn)、范圍圍相關(guān)的的邏輯((傷害范范圍,可可見(jiàn)范圍圍等)基本方式式:稱(chēng)之之為L(zhǎng)inkMap的數(shù)據(jù)結(jié)結(jié)構(gòu),按按“層+二維數(shù)組組”的模模式組織織場(chǎng)景里里的靜、、動(dòng)態(tài)可可管理資資源。層層與層之之間可設(shè)設(shè)定可見(jiàn)見(jiàn)性、可可計(jì)算性性;二維維數(shù)組內(nèi)內(nèi)的各對(duì)對(duì)象之間間可以設(shè)設(shè)定可見(jiàn)見(jiàn)性GAME場(chǎng)景管理理架構(gòu)18腳本化,,熱更新新,多日日志單一系統(tǒng)統(tǒng)的在線(xiàn)線(xiàn)開(kāi)關(guān)控控制單一系統(tǒng)統(tǒng)的資源源統(tǒng)計(jì)版本的快快速迭代代、驗(yàn)證證(30分鐘解決決問(wèn)題))單個(gè)技術(shù)術(shù)人的全全面素質(zhì)質(zhì)培養(yǎng),,獨(dú)當(dāng)一一面,靈靈活應(yīng)對(duì)對(duì)預(yù)估風(fēng)險(xiǎn)險(xiǎn),作好好準(zhǔn)備方方案(既既要考慮慮壞,也也要考慮慮好)基于互不不信任的的架構(gòu)和和邏輯思思路19面向運(yùn)營(yíng)營(yíng)的架構(gòu)構(gòu)要素DB:數(shù)據(jù)回回檔,不不保存,,當(dāng)機(jī),,認(rèn)證無(wú)無(wú)返回物品系統(tǒng)統(tǒng):index不對(duì)應(yīng),,命名不不統(tǒng)一,,溝通不不充分交易系統(tǒng)統(tǒng):日志志不充分分,追查查難,多多數(shù)據(jù)存存放點(diǎn)狀態(tài)機(jī)系系統(tǒng):控控制太精精確,雙雙方無(wú)主主從關(guān)系系,狀態(tài)態(tài)不同步步我們?cè)阜傅慕?jīng)典典錯(cuò)誤及及改進(jìn)20盡量減少少對(duì)第三三方庫(kù)的的使用和和依賴(lài)盡量做到到代碼自自解釋盡量不使使用技巧巧性過(guò)強(qiáng)強(qiáng)的設(shè)計(jì)計(jì)方法盡量少上設(shè)設(shè)計(jì)模式的的當(dāng)代碼是為他他人而寫(xiě)實(shí)踐出真知知,預(yù)防抗抗風(fēng)險(xiǎn),分分享促成長(zhǎng)長(zhǎng),團(tuán)隊(duì)強(qiáng)強(qiáng)才是真的的強(qiáng)21我們的一些些體會(huì)速度:從策策劃案開(kāi)始始交付實(shí)施施之日,兩兩周之內(nèi)出出一個(gè)中型型玩法或中中型系統(tǒng)質(zhì)量:“簡(jiǎn)簡(jiǎn)單、可控控”保證了了系統(tǒng)穩(wěn)定定,防御性性編程思維維保證了留留有后路,,30分鐘內(nèi)解決決服務(wù)器問(wèn)問(wèn)題(要么么修正錯(cuò)誤誤,要么關(guān)關(guān)閉局部系系統(tǒng)),不不停機(jī)更新新團(tuán)隊(duì):人人人都可以雙雙端開(kāi)發(fā),,獨(dú)當(dāng)一面面;技術(shù)全全面;技能能素質(zhì)和心心理素質(zhì)全全面我們目前的的狀態(tài)22設(shè)計(jì)本天成成,妙手偶偶得之23設(shè)計(jì)的最高高境界Googletalk&mail:sodme.dev@新浪微博::/sodme產(chǎn)品博客::技術(shù)博客::/sodme公司popo:xietingbao@QQ:1170046624大寶的聯(lián)系系方式9、靜夜夜四無(wú)無(wú)鄰,,荒居居舊業(yè)業(yè)貧。。。1月-231月-23Thursday,January5,202310、雨雨中中黃黃葉葉樹(shù)樹(shù),,燈燈下下白白頭頭人人。。。。02:46:5802:46:5802:461/5/20232:46:58AM11、以我獨(dú)獨(dú)沈久,,愧君相相見(jiàn)頻。。。1月-2302:46:5802:46Jan-2305-Jan-2312、故人江海海別,幾度度隔山川。。。02:46:5802:46:5802:46Thursday,January5,202313、乍見(jiàn)翻疑疑夢(mèng),相悲悲各問(wèn)年。。。1月-231月-2302:46:5802:46:58January5,202314、他鄉(xiāng)生白發(fā)發(fā),舊國(guó)見(jiàn)青青山。。05一月20232:46:58上午02:46:581月-2315、比不不了得得就不不比,,得不不到的的就不不要。。。。一月232:46上上午午1月-2302:46January5,202316、行行動(dòng)動(dòng)出出成成果果,,工工作作出出財(cái)財(cái)富富。。。。2023/1/52:46:5802:46:5805January202317、做前,,能夠環(huán)環(huán)視四周周;做時(shí)時(shí),你只只能或者者最好沿沿著以腳腳為起點(diǎn)點(diǎn)的射線(xiàn)線(xiàn)向前。。。2:46:58上午午2:46上午午02:46:581月-239、沒(méi)有有失敗敗,只只有暫暫時(shí)停停止成成功?。?。1月-231月-23Thursday,January5,202310、很多事情情努力了未未必有結(jié)果果,但是不不努力卻什什么改變也也沒(méi)有。。。02:46:5802:46:5802:461/5/20232:46:58AM11、成功就是日日復(fù)一日那一一點(diǎn)點(diǎn)小小努努力的積累。。。1月-2302:46:5802:46Jan-2305-Jan-2312、世間成事,,不求其絕對(duì)對(duì)圓滿(mǎn),留一一份不足,可可得無(wú)限完美美。。02:46:5802:46:5802:46Thursday,January5,202313、不知香積積寺,數(shù)里里入云峰。。。1月-231月-2302:46:5802:46:58January5,202314、意志堅(jiān)堅(jiān)強(qiáng)的人人能把世世界放在在手中像像泥塊一一樣任意意揉捏。。05一一月20232:46:58上午午02:46:581月-2315、楚塞三湘接接,荊門(mén)九派派通。。。一月232:46上上午1月-2302:46January5,202316、少年十五五二十時(shí),,步行奪得得胡馬騎。。。2023/1/52:46:5802:46:5805January202317、空空山山新新雨雨后后,,天天氣氣晚晚來(lái)來(lái)秋秋。。。。2:46:58上上午午2:46上上午午02:46:581月月-239、楊柳柳散和和風(fēng),,青山山澹吾吾慮。。。1月-231月-23Thursday,January5,202310、閱讀讀一切切好書(shū)書(shū)如同同和過(guò)過(guò)去最最杰出出的人人談話(huà)話(huà)。02:46:5802:46:5802:461/5/20232:46:58AM11、越是沒(méi)沒(méi)有本領(lǐng)領(lǐng)的就越越加自命命不凡。。1月-2302:46:5802:46Jan-2305-Jan-2312、越是無(wú)能的的人,越喜歡歡挑剔別人的的錯(cuò)兒。02:46:5802:46:5802:46Thursday,January5,202313、知人者智智,自知者者明。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 招標(biāo)須知購(gòu)車(chē)招標(biāo)要求3篇
- 居民區(qū)煤氣供應(yīng)與安全責(zé)任合同3篇
- 教育培訓(xùn)機(jī)構(gòu)砌體施工合同3篇
- 教育服務(wù)行業(yè)勞動(dòng)合同標(biāo)準(zhǔn)3篇
- 教育機(jī)構(gòu)勞動(dòng)合同原件3篇
- 展覽展示浮雕施工協(xié)議
- 企業(yè)教育貸款還款協(xié)議
- 防火設(shè)施維修施工合同
- 實(shí)驗(yàn)室門(mén)套翻新合同
- 建筑施工租賃吊車(chē)合同
- 焦化學(xué)產(chǎn)品及硫銨工藝
- 淺談爐水中氯離子濃度高的原因分析與防止
- 鋁合金壓鑄件的標(biāo)準(zhǔn)
- QC小組活動(dòng)管理制度
- 浙美版三年級(jí)上冊(cè)美術(shù)試卷(共4頁(yè))
- 航空開(kāi)傘器機(jī)械大報(bào)告
- 關(guān)于人工費(fèi)結(jié)清證明
- 全國(guó)國(guó)防教育示范學(xué)校形象標(biāo)識(shí)、金屬牌匾樣式
- 《網(wǎng)吧證件轉(zhuǎn)讓協(xié)議推薦》
- 重慶氣體行業(yè)協(xié)會(huì)
- 企業(yè)中高層人員安全管理培訓(xùn)--責(zé)任、案例、管理重點(diǎn)
評(píng)論
0/150
提交評(píng)論