系統架構之二(棋牌類遊戲常用架構)

棋牌類遊戲常用架構:

 

 

我從事過4年的棋牌類遊戲開發,使用過的架構大致如上,各模塊解釋如下。

LoginServer: 登陸服務器,主要負責player 的登陸請求,驗證player的合法性,爲合法的player分配session,與cilent 採用短連接方式,可以有多個來進行負載均衡。驗證player通過後,LoginServer找到一個合適的GateWay發送給client。

 

GateWay: 網關服務器,有多個來做負載均衡,與client 使用長連接方式,client發送的消息都通過GateWay轉發給大廳服務器或遊戲服務器,大廳服務器或遊戲服務器返回給client的消息也都經過GateWay,充當遊戲消息轉發的中轉站,防禦網絡惡意攻擊。將來自不同遊戲客戶端的消息格式轉換爲系統內部統一處理的消息格式,系統處理完消息後,再將返回消息交給gateway轉化爲客戶端對應的格式返回。

 

LobbyServer:大廳服務器,可以有多個,負責遊戲大廳中功能,例如遊戲桌數目,各遊戲桌在線人數等等。

 

GameServer:遊戲服務器,多個,不同的遊戲有不同的遊戲服務器,具體遊戲的邏輯實現。

 

dbmgr:   數據服務器,所有需要持久的數據,都經過dbmgr與數據庫進行交互,dbmgr通過數據緩存,批量事務,本地持久等手段大大提高整體系統性能。對於一般同時在線只有幾千的系統dbmgr只需要1個則夠,對於超大型系統,玩家超多的系統,則可以使用分區方式,每一個區使用一個dbmgr,系統根據玩家所屬的區來選擇對應的dbmgr。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章