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