RPG游戏经典的系统架构
RPG游戲經(jīng)典的系統(tǒng)架構(gòu)設(shè)計 :
bigword 游戲引擎就是使用這種架構(gòu),我認識的很多rpg游戲公司的同事也大致采用了這種架構(gòu)方式。
loginapp : 登陸服務器,主要負責player 的登陸請求,驗證player的合法性,為合法的player分配session,與cilent 采用短連接方式,可以有多個loginapp來負載均衡。驗證player通過后,loginapp通過baseappmgr找到一個合適的baseapp發(fā)送給client。
baseapp: 我們可以叫做網(wǎng)關(guān)服務器,有多個來做負載均衡,與client 使用長連接方式,為player分配適合的cellapp,client發(fā)送的消息都通過baseapp轉(zhuǎn)發(fā)給cellapp,cellapp返回給client的消息也都經(jīng)過baseapp,充當游戲消息轉(zhuǎn)發(fā)的中轉(zhuǎn)站。 baseapp同時負責聊天模塊。
cellapp : 可以叫游戲服務器或地圖服務器,多個,負責具體游戲邏輯實現(xiàn),與player進行游戲交互。
baseappmgr:管理網(wǎng)關(guān)服務器,只需要1個,或可以做主從備份方式。負責為player分配baseapp,并記錄player所在的baseapp,cellapp踢客時先通知baseappmgr,然后baseappmgr找到對應的baseapp進行踢客。
cellappmgr: 管理游戲服務器,只需要1個,或可以做主從備份方式。負責為player分配合適的cellapp,并對cellapp進行管理。
dbmgr: 數(shù)據(jù)服務器,所有需要持久的數(shù)據(jù),都經(jīng)過dbmgr與數(shù)據(jù)庫進行交互,dbmgr通過數(shù)據(jù)緩存,批量事務,本地持久等手段大大提高整體系統(tǒng)性能。對于一般同時在線只有幾千的系統(tǒng)dbmgr只需要1個則夠,對于超大型系統(tǒng),玩家超多的系統(tǒng),則可以使用分區(qū)方式,每一個區(qū)使用一個dbmgr,系統(tǒng)根據(jù)玩家所屬的區(qū)來選擇對應的dbmgr。
revivier: 監(jiān)視器,可以監(jiān)視所有服務器的運行狀態(tài),如有必要可以對服務器進行啟動,關(guān)閉等各種管理,其功能可以理解為ice中間件中icegrid架構(gòu)的icegridnode和 icegridregistry的進程管理功能
MessageLogger/statLogger: 日志服務器,統(tǒng)計服務器, 記錄系統(tǒng)的日志,或進行必要的信息收集及統(tǒng)計,此模塊視整個系統(tǒng)的必要性,可選。
總結(jié)
以上是生活随笔為你收集整理的RPG游戏经典的系统架构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手写字体识别
- 下一篇: 机票预订系统的可行性分析