1. 程式人生 > >【轉】網遊服務器的布局

【轉】網遊服務器的布局

討論 相對 網路 order 包括 family 處理 單獨 spa

轉自 http://blog.csdn.net/clodfront/article/details/6555717

關於網遊服務器的分類和布局的問題是在網絡遊戲中比較關鍵的部分, 首先我們討論網絡遊戲服務器的分類問題: 一般情況下遊戲服務器分為: 登陸服務器, 網關服務器, 遊戲服務器和數據庫服務器四類, 有的服務器可能是多臺並存的,如遊戲服務器, 其中遊戲服務器包括: 地圖服務器和邏輯服務器.
下面這個圖描述了網關服務器和其他服務器之間的關系:
技術分享圖片
網關服務器的功能是將: 遊戲服務器, 客戶端和數據庫服務器之間的消息進行轉發, 所以它負責管理客戶端的連接和服務端的連接, 並轉發他們之間的消息, 同時他還連接到數據庫服務器上,等需要數據讀取時對數據庫進行操作,並轉發給相應的請求者. (其實在對數據庫的連接這個問題上,有遊戲服務器來連接的,網關服務只負責轉發和簡單的邏輯處理)。


我們現在來討論下網關服務器是怎麽實現的:網關服務器要管理兩個事情,一個是遊戲服務器的連接,另一個玩家的連接。其實對於網關服務器而言,這兩個種類型的連接差別,並不是很大,可以用一個網路模型來處理收到的消息,並將其轉發給相應的接受者。
遊戲服務器中的地圖服務器:地圖服務器相對於網關服務器而言,它更像是一個客戶端,它在收到消息的時候處理消息,並將消息結果返回給網關,網關把消息轉給相應的連接。只是說因為地圖服務器相對來說是處理那些長時間連接,需要不斷處理的邏輯的,如用戶的移動,狀態,補給等,需要實時的消息處理。
邏輯服務器的功能是實現如打怪,組隊等一些,不經常交互的邏輯的。其實對於一組遊戲服務器而言,大量的聊天信息也是很消耗系統資源的,有時候要單獨建立一個聊天服務器。

數據庫服務器基本上是存放數據庫的,遊戲服務器,邏輯服務器,在需要是讀取數據,進行邏輯處理。
技術分享圖片

【轉】網遊服務器的布局