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