服務器服務端架構
服務端架構
講一下我用過的其中一種架構模型,也是公司按著bigworld架構設計的:
1.gate:首先要有一個gate(網關)服務器,負責客戶端連接及消息轉發到game(游戲服),保持客戶端到服務端的連接
沒有任何邏輯,只做消息加密和解密,以及客戶端和服務器消息的轉發(相當于兩者之間的橋梁).
2.gameserver:gameserver是游戲進程,提供游戲邏輯功能(采用單進程(或者單線程)模型,游戲服務器的瓶頸從來不在cpu,所以只做邏輯功能的話單線程足夠了,在這里沒必要用多線程或多進程)。
3.dbmanager:實現數據庫的讀寫,方便game服務器異步讀寫數據庫的數據(有些把數據庫讀寫放在游戲服,沒有單獨的服務器,那恐怕游戲服單進程就不夠用了)。
4.gamemanager:負責管理所有的gameserver,gameserver之間消息轉發,提供廣播到所有game的功能。