遊戲伺服器的常用架構
轉自:
https://blog.csdn.net/u011308294/article/details/78627540
遊戲伺服器架構要素
對於遊戲服務端架構,最重要的三個部分就是,如何使用CPU、記憶體、網路卡的設計:
- 記憶體架構:主要決定伺服器如何使用記憶體,以最大化利用伺服器端記憶體來提高承載量,降低服務延遲。
- 邏輯架構:設計如何使用程式、執行緒、協程這些對於CPU排程的方案。選擇同步、非同步等不同的程式設計模型,以提高伺服器的穩定性和承載量。可以分割槽分服,也可以採用世界服的方式,將相同功能模組劃分到不同的伺服器來處理。
- 通訊模式:決定使用何種方式通訊。基於遊戲型別不同採用不同的通訊模式,比如http,tcp,udp等。
遊戲型別
卡牌跑酷等休閒遊戲弱互動遊戲
分割槽分服RPG遊戲(RPG頁遊)
分服模型是遊戲伺服器中最典型,也是歷久最悠久的模型。在早期伺服器的承載量達到上限的時候,遊戲開發者就通過架設更多的伺服器來解決。這樣提供了很多個遊戲的“平行世界”,讓遊戲中的人人之間的比較,產生了更多的空間。其特徵是遊戲伺服器是一個個單獨的世界。每個伺服器的帳號是獨立的,每臺伺服器使用者的狀態都是不一樣的,一個服就是一個世界,大家各不牽扯。
後來遊戲玩家呼籲要跨服打架,於是就出現了跨服戰,再加上隨著遊戲的執行,單個伺服器的遊戲活躍玩家越來越少,所以後期就有了伺服器的合併以及遷移,慢慢的以伺服器的開放、合併形成了一套成熟的運營手段。目前多數遊戲還採用分服的結構來架設伺服器,多數頁遊還是採用這種模式。
資料共享遊戲伺服器
閘道器部分分離成單端的gate伺服器,DB部分分離為DB伺服器,把網路功能單獨提取出來,讓使用者統一去連線一個閘道器伺服器,再有閘道器伺服器轉發資料到後端遊戲伺服器。而遊戲伺服器之間資料交換也統一連線到網管進行交換。所有有DB互動的,都連線到DB伺服器來代理處理。
- 場景伺服器:它負責完成主要的遊戲邏輯,這些邏輯包括:角色在遊戲場景中的進入與退出、角色的行走與跑動、角色戰鬥(包括打怪)、任務的認領等。場景伺服器設計的好壞是整個遊戲世界伺服器效能差異的主要體現,它的設計難度不僅僅在於通訊模型方面,更主要的是整個伺服器的體系架構和同步機制的設計。
- 非場景伺服器:它主要負責完成與遊戲場景不相關的遊戲邏輯,這些邏輯不依靠遊戲的地圖系統也能正常進行,比如公會聊天或世界聊天,之所以把它從場景伺服器中獨立出來,是為了節省場景伺服器的CPU和頻寬資源,讓場景伺服器能夠儘可能快地處理那些對遊戲流暢性影響較大的遊戲邏輯。
- 閘道器伺服器: 在型別一種的架構中,玩家在多個地圖跳轉或者場景切換的時候採用跳轉的模式,以此進行跳轉不同的伺服器。還有一種方式是把這些伺服器的節點都通過閘道器伺服器管理,玩家和閘道器伺服器互動,每個場景或者伺服器切換的時候,也有閘道器伺服器統一來交換資料,如此玩家操作會比較流暢。
房間遊戲
房間類玩法和MMORPG有很大的不同,在於其線上廣播單元的不確定性和廣播數量很小。而且需要匹配一臺房間伺服器讓少數人進入一個伺服器。
這一類遊戲最重要的是其“遊戲大廳”的承載量,每個“遊戲房間”受邏輯所限,需要維持和廣播的玩家資料是有限的,但是“遊戲大廳”需要維持相當高的線上使用者數,所以一般來說,這種遊戲還是需要做“分服”的。典型的遊戲就是《英雄聯盟》這一類遊戲了。而“遊戲大廳”裡面最有挑戰性的任務,就是“自動匹配”玩家進入一個“遊戲房間”,這需要對所有線上玩家做搜尋和過濾。
玩家先登入“大廳伺服器”,然後選擇組隊遊戲的功能,伺服器會通知參與的所有遊戲客戶端,新開一條連線到房間伺服器上,這樣所有參與的使用者就能在房間伺服器裡進行遊戲互動了。
相關文章
- 遊戲伺服器架構概要遊戲伺服器架構
- 經典遊戲伺服器端架構概述遊戲伺服器架構
- 常用的設計架構架構
- 常用核心架構架構
- 遊戲架構 遊戲架構設計(8)遊戲架構
- MySQL複製的常用架構MySql架構
- 遊戲引擎架構遊戲引擎架構
- LollipopGo遊戲伺服器架構--NetGateWay.go說明Go遊戲伺服器架構Gateway
- 【知識分享】 伺服器的架構伺服器架構
- 單體架構、微服務和無伺服器架構架構微服務伺服器
- 常用的幾種大資料架構剖析大資料架構
- MMORPG伺服器架構伺服器架構
- 揭祕 Quora 的 Web 伺服器架構Web伺服器架構
- 無伺服器架構 - CodeCraft伺服器架構Raft
- X86架構伺服器架構伺服器
- 高效能伺服器架構伺服器架構
- 無伺服器架構的簡單介紹伺服器架構
- ORACLE之常用FAQ:ORACLE構架體系Oracle
- 伺服器架構圖 伺服器登入方法伺服器架構
- CS架構伺服器如何整合WEB伺服器架構伺服器Web
- 阿里雲架構師解讀三大主流遊戲架構阿里架構遊戲
- 【程式設計師的遊戲開發之路】 遊戲架構程式設計師遊戲開發架構
- Serverless無伺服器架構詳解Server伺服器架構
- 高效能伺服器架構思路伺服器架構
- 大型網站架構演變過程、大併發伺服器架構網站架構伺服器
- 常見的網站伺服器架構有哪些?網站伺服器架構
- 高併發下的伺服器架構演變伺服器架構
- 淺談圖片伺服器的架構演進伺服器架構
- 阿里雲架構師解讀四大主流遊戲架構阿里架構遊戲
- 根據伺服器的基礎架構分類有哪些伺服器伺服器架構
- Serverless 架構到底要不要伺服器?Server架構伺服器
- 什麼是Serverless無伺服器架構?Server伺服器架構
- 伺服器架構導致的SEO收錄異常伺服器架構
- 中立觀點:無伺服器架構的特點 | ThoughtWorks伺服器架構
- 大型網站圖片伺服器架構的演進網站伺服器架構
- 十大常用軟體架構模式簡介架構模式
- Sqoop架構和常用命令介紹OOP架構
- 新手老手都懂的幹活-常用的網際網路架構模式架構模式