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