@飯中淹
多謝樓主解答,不過還是有一些疑問,我說一下自己對這個架構(gòu)的理解。
從用戶登錄開始,用戶登錄連接網(wǎng)關(guān),發(fā)數(shù)據(jù)到loginserver校驗賬戶密碼,如果areaDB中沒有賬戶信息,向數(shù)據(jù)中心要賬戶密碼,插入areaDB,以后校驗賬戶就可以直接在區(qū)域DB中做了,如果賬戶密碼校驗成功,發(fā)送本區(qū)的組列表給客戶端,玩家選擇某個服務(wù)器,login獲取生成一個key發(fā)給userserver,同時把key發(fā)給客戶端以及一個網(wǎng)關(guān)的ip端口,客戶端使用其連接,發(fā)送key到Userserver,比對key,非法踢掉客戶端連接,合法userserver向數(shù)據(jù)中心獲取賬戶詳細信息,比如賬戶上剩余點卡等,同時向GroupDB獲取本組中的自己的角色,得到這些信息都發(fā)給客戶端,客戶端選擇一個角色進入游戲,userserver從數(shù)據(jù)庫讀取該角色的完全信息,根據(jù)玩家之前的位置確定進入那個gameserver(我認為游戲服務(wù)器是根據(jù)地圖劃分的,不知道對不對?),角色數(shù)據(jù)傳到gameserver,同時客戶端根據(jù)這些數(shù)據(jù)進入場景,gameserver得到信息同時告知publicserver(publicserver連DB做什么?我猜測可以獲取工會以及工會成員信息,對否?)
http://m.shnenglu.com/johndragon/archive/2008/04/10/46768.html