棋牌游戏服务器架构: 部署
先看一下,下面這張可能的部署圖吧。
圖1 ?系統布署圖
? ? ? 在這個圖中,可以看到,客戶端的形式多種多樣,可能是pc上的一個可執行文件,也可能是通過瀏覽器打開的一個網頁,甚至于手機客戶端。它們都通過internet連接到游戲服務器。
? ? ? 在這個部署中有1個CenterServer,1個LogServer,3個LogonServer和很多個RoomServer(只顯示了德州撲克的兩個房間)。這些Server有可能分布在同一臺機器上,也可以分布在不同的機器之上。這對擴容來說是極為方便地。在玩家數量增大,系統不足以承載其網絡負載時,只需要買更多的機器,架設更多的RoomServer或者LogonServer就行了。
? ? ?這里再分析一下一個中心服務器最多可支持多少玩家同時在線。假定1臺機器最多可以有5000個連接,也就是說我給可買5000個機器作為LogServer + RoomServer, LogServer的數目不會太多,可以忽略,所以最多有RoomServer可以管理最多5000X5000個用戶同時在線。
1布署數據庫
? ? ? 選定作為數據庫服務器的機器以后,要先安裝postgresql數據庫,然后導入ServerInfoDB(CenterServer使用), UserInfoDB(LogonServer、RoomServer、LogServer使用),UserScoreDB(RoomServer使用),還有有關各個游戲邏輯的數據庫,比如TexasPokerDB等等。這些數據庫不一定要放在一臺機器上,可以布置在不同的機器上,因為本架構是支持分布式數據庫的,你只要記住每個數據庫所在機器的
2啟動服務器
2.1 啟動CenterServer
? ? ? 首先要修改中心服務器配置,主要包括兩個方面的配置:-網絡配置和數據庫配置。
? ? ? 網絡配置包括: 監聽端口、最大連接數。這里的最連接數它的是最多支持多少個LogonServer + RoomServer。因為只有這兩種Server會連接CenterServer。
? ? ? 數據庫配置包括:ServerInfoDB所在機器的IP地址,端口號,連接要用的用戶名和密碼
? ? ??配置好以后,就可以直接啟動中心服務器了,中心服務器會根據這些配置信息來管理游戲列表,房間列表等信息。
?2.2 啟動LogonServer
? ? ? 第一步也是配置服務器,主要的配置信息為:
? ? ? 網絡配置: 監聽端口和最大連接數。 這里的最連接數控制這個LogonServer最多同時支持多少人同時登錄。
? ? ? 數據庫配置:主要是配置UserInfoDB的地址,端口連接所用的用戶名和密碼。
? ? ? CenterServer相關配置: 主要有中心服務器所在IP,端口。需要CenterServer的相關信息是因為LogonServer會定時地從CenterServer中更新游戲列表和房間信息。
? ? ? 配置好以后就可以啟動LogonServer了。
2.3 啟動LogServer
? ? ? 這個服務器做的工作比較簡單,就是處理玩家的查看游戲過程用的。主要有以下配置項:
? ? ? 網絡配置: 監聽端口和最大連接數?!?/p>
? ? ? 數據庫配置: GameLogDB所在的IP,端口,連接所用的用戶名和密碼
? ? ? 配置好以后啟動即可。
2.4 配置RoomServer
? ? ? 玩家的大部分操作都是由這種服務器來響應,啟動一個RoomServer實例相當于開啟一個新的房間,所以要擴容,基本上只需要增加機器并開啟更多的RoomServer即可,其配置包括:
? ? ? 房間基本信息: 房間類型(vip房間,比賽房間,普通房間等), 桌子數,每個桌子的椅子數等等。
? ? ? 網絡配置: 監聽端口和最大連接數。這個最大連接數就是本房間最多支持多少玩家同時在線玩游戲。
? ? ? 數據庫配置: 包括UserInfoDB,具體游戲的DB(比如TexasPokerDB)的地址,端口,以及用戶名和密碼。
? ? ? CenterServer相關配置:這個配置和LogonServer一樣,需要這個配置也是因為RoomServer會定時地從 ? ? CenterServer中更新游戲列表和房間信息發送給客戶端。
?? ? 最后啟動這個房間。在配置房間以后,玩家就可以通過客戶端或者網頁進行游戲了。
頂總結
以上是生活随笔為你收集整理的棋牌游戏服务器架构: 部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 棋牌游戏服务器架构: 总体设计
- 下一篇: 棋牌游戏服务器架构: 详细设计(一) 内