(文章來源:南華中天)
搭建游戲網(wǎng)站的服務(wù)比較特別,這類程序需要高性能和穩(wěn)定性,而且需要多個協(xié)作來提高承載能力,還要關(guān)注部署和擴(kuò)容的便利性,今天小編就介紹一個常見的游戲網(wǎng)站架構(gòu)類型。
一、架構(gòu)重要部分,對于游戲服務(wù)端架構(gòu),最重要的三個部分就是, CPU、內(nèi)存以及網(wǎng)卡的設(shè)計(jì)。內(nèi)存架構(gòu):主要決定主機(jī)如何使用內(nèi)存,以最大化利用主機(jī)端內(nèi)存來提高承載量,降低服務(wù)延遲。邏輯架構(gòu):設(shè)計(jì)如何使用進(jìn)程、線程、協(xié)程這些對于CPU調(diào)度的方案。選擇同步、異步等不同的編程模型,以提高穩(wěn)定性和承載量。可以分區(qū)分服,也可以采用世界服的方式,將相同功能模塊劃分到不同的主機(jī)來處理。
通信模式:決定使用何種方式通訊,基于游戲類型不同采用不同的通信模式。
二、游戲類型,分區(qū)分服RPG游戲,分服模型是游戲服務(wù)器中最典型,也是歷久最悠久的模型。在早期服務(wù)器的承載量達(dá)到上限的時候,游戲開發(fā)者就通過架設(shè)更多的服務(wù)器來解決,讓游戲中的用戶之間產(chǎn)生了更多的空間。目前多數(shù)游戲還采用分服的結(jié)構(gòu)來架設(shè),而且多數(shù)頁游都是采用這種模式。
數(shù)據(jù)共享游戲,網(wǎng)關(guān)部分分離成單端的gate服務(wù)器,DB部分分離為DB服務(wù)器,把網(wǎng)絡(luò)功能單獨(dú)提取出來,讓用戶統(tǒng)一去連接一個網(wǎng)關(guān)主機(jī),再由網(wǎng)關(guān)主機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)到后端游戲主機(jī)服務(wù)器端,而游戲主機(jī)端之間數(shù)據(jù)交換也統(tǒng)一連接到網(wǎng)關(guān)進(jìn)行交換,所有DB端交互的都連接到DB端來代理處理。
場景服務(wù)器:它負(fù)責(zé)完成主要的游戲邏輯,這些邏輯包括:角色在游戲場景中的進(jìn)入與退出、角色的行走與跑動、角色戰(zhàn)斗、任務(wù)的認(rèn)領(lǐng)等。場景服務(wù)器設(shè)計(jì)的好壞是整個游戲世界服務(wù)器性能差異的主要體現(xiàn),它的設(shè)計(jì)難度不僅僅在于通信模型方面,更主要的是整個服務(wù)器的體系架構(gòu)和同步機(jī)制的設(shè)計(jì)。
非場景服務(wù)器:它主要負(fù)責(zé)完成與游戲場景不相關(guān)的游戲邏輯,這些邏輯不依靠游戲的地圖系統(tǒng)也能正常進(jìn)行,之所以把它從場景服務(wù)器中獨(dú)立出來,是為了節(jié)省場景的CPU和帶寬資源,讓場景服務(wù)器能夠盡可能快地處理那些對游戲流暢性影響較大的游戲邏輯。
網(wǎng)關(guān)服務(wù)器: 在這一類型的架構(gòu)中,玩家在多個地圖跳轉(zhuǎn)或者場景切換的時候采用跳轉(zhuǎn)的模式,以此進(jìn)行跳轉(zhuǎn)不同的游戲主機(jī)。還有一種方式是把這些主機(jī)的節(jié)點(diǎn)都通過網(wǎng)關(guān)端管理,玩家和網(wǎng)關(guān)端交互,每個場景切換的時候,也有網(wǎng)關(guān)端統(tǒng)一來交換數(shù)據(jù),如此玩家操作會比較流暢。
房間類玩法在于其在線廣播單元的不確定性和廣播數(shù)量很小,而且需要匹配一臺房間服務(wù)器端,實(shí)現(xiàn)讓少數(shù)人進(jìn)入一個游戲房間。這一類游戲最重要的是其游戲大廳的承載量,每個游戲房間受邏輯所限,需要維持和廣播的玩家數(shù)據(jù)是有限的,但是游戲大廳需要維持相當(dāng)高的在線用戶數(shù),所以一般來說,這種游戲還是需要做分服的。
以上就是常見的游戲架構(gòu)類型,希望能幫助用戶去更好地進(jìn)行區(qū)分。
(責(zé)任編輯:fqj)
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9308瀏覽量
86073 -
網(wǎng)站
+關(guān)注
關(guān)注
2文章
259瀏覽量
23241
發(fā)布評論請先 登錄
相關(guān)推薦
評論