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