官术网_书友最值得收藏!

1.2.1 單體游戲服務(wù)器架構(gòu)

單體游戲服務(wù)器架構(gòu),即運(yùn)行一個(gè)游戲服務(wù)實(shí)例為游戲提供服務(wù),游戲所有的功能實(shí)現(xiàn)都集中在同一個(gè)服務(wù)之中,游戲客戶端通過網(wǎng)絡(luò)直接連接游戲服務(wù)器,與服務(wù)器直接進(jìn)行數(shù)據(jù)交互。很明顯的是,這種架構(gòu)同一個(gè)服務(wù)器支持的同時(shí)在線用戶數(shù)量有限。如果用戶數(shù)量接近或超過單體游戲服務(wù)器的承載量,就需要部署新的服務(wù)器,也叫作分區(qū)分服,即一個(gè)區(qū)一個(gè)服務(wù)器。每個(gè)區(qū)的同時(shí)在線人數(shù)設(shè)置一定上限,而且各個(gè)區(qū)中的游戲用戶是隔離的且不會產(chǎn)生任何交互,單體游戲服務(wù)器架構(gòu)如圖1.1所示。

圖1.1 單體游戲服務(wù)器架構(gòu)

這種架構(gòu)的優(yōu)點(diǎn)如下。

●易于開發(fā):開發(fā)人員不需要進(jìn)行太多的設(shè)計(jì),就可以快速開發(fā)業(yè)務(wù)功能,而且不會有過多的異步調(diào)用。

●易于測試:由于所有的功能都在一起,不需要依賴其他的接口,測試起來非常容易。

●易于部署:由于所有的功能都在一起,部署時(shí)只需要啟動(dòng)一個(gè)進(jìn)程即可,更新服務(wù)時(shí)只需要簡單更新一個(gè)運(yùn)行包即可。

●易于維護(hù):由于代碼層次明確,所有模塊在同一個(gè)項(xiàng)目中,修改時(shí)容易發(fā)現(xiàn)錯(cuò)誤,可以快速改正。

但是缺點(diǎn)也是顯而易見的。

●安全性差:由于客戶端與游戲服務(wù)器直接連接,暴露了服務(wù)器的地址和端口,如果遇到攻擊就無回還余地。

●靈活性差:由于所有的功能堆積在一起,團(tuán)隊(duì)在開發(fā)中可能會產(chǎn)生沖突,導(dǎo)致代碼提交延遲,需要花費(fèi)時(shí)間解決沖突。

●沒有伸縮性:所有服務(wù)都在一個(gè)進(jìn)程,承載量有限,毫無伸縮性,不能擴(kuò)展。

●體驗(yàn)性差:修改一個(gè)功能的bug,必須重啟服務(wù),使所有用戶下線。

由此可見,單體游戲服務(wù)器架構(gòu)適合一些功能不多的小游戲或同時(shí)在線用戶數(shù)量有限的游戲,這類游戲一般在運(yùn)營的時(shí)候是分區(qū)分服的。注冊人數(shù)或同時(shí)在線人數(shù)達(dá)到一定限度時(shí),就開新的區(qū)服(游戲區(qū)服務(wù)器),這樣會導(dǎo)致一些舊的區(qū)服的用戶會越來越少,為了節(jié)約資源,后期會進(jìn)行合服操作,即把不同區(qū)服的用戶數(shù)據(jù)合并到一個(gè)數(shù)據(jù)庫里面,不同區(qū)服的用戶客戶端連接到同一個(gè)服務(wù)器。

主站蜘蛛池模板: 琼中| 中江县| 彭州市| 桂平市| 白河县| 交口县| 张北县| 翁牛特旗| 泗水县| 宁化县| 牟定县| 安国市| 离岛区| 寻甸| 太保市| 堆龙德庆县| 葫芦岛市| 浑源县| 读书| 保定市| 思茅市| 武山县| 南部县| 台山市| 从江县| 怀集县| 淮安市| 周宁县| 密云县| 泸州市| 五家渠市| 海阳市| 汾阳市| 登封市| 修文县| 芮城县| 罗平县| 达拉特旗| 凤冈县| 南靖县| 武山县|