關于游戲服務器的架構(gòu)演進歷程
游戲服務器的架構(gòu)演進
本文閱讀預計需要10分鐘,主要技術點來如下,感興趣請繼續(xù):
游戲服務器特征
短連接游戲服務器架構(gòu)
長鏈接游戲服務器架構(gòu)
分區(qū)分服服務器架構(gòu)
MMOARPG服務器架構(gòu)
房間服務器架構(gòu)
1游戲服務器特征
游戲服務器端,是一個會長期運行的程序,并且它還要服務于多個不定時,不定點的網(wǎng)絡請求。所以這類軟件的特點是要非常關注穩(wěn)定性和性能。這類程序如果需要多個協(xié)作來提高承載能力,則還要關注部署和擴容的便利性;同時,還需要考慮如何實現(xiàn)某種程度容災需求。由于多進程協(xié)同工作,也帶來了開發(fā)的復雜度,這也是需要關注的問題。
功能約束,是架構(gòu)設計決定性因素。基于游戲領域的功能特征,對服務器端系統(tǒng)來說,有以下幾個特殊的需求:
對于游戲數(shù)據(jù)和玩家數(shù)據(jù)的存儲
對玩家數(shù)據(jù)進行數(shù)據(jù)廣播和同步
把一部分游戲邏輯在服務器上運算,做好驗證,防止外掛。
針對以上的需求特征,在服務器端,我們往往會關注對電腦內(nèi)存和CPU的使用,以求在特定業(yè)務代碼下,能盡量滿足承載量和響應延遲的需求。最基本的做法就是“空間換時間”,用各種緩存的方式來以求得CPU和內(nèi)存空間上的平衡。
在CPU和內(nèi)存之上,是另外一個約束因素:網(wǎng)卡。網(wǎng)絡帶寬直接限制了服務器的處理能力,所以游戲服務器架構(gòu)也必定要考慮這個因素。
2游戲服務器架構(gòu)要素
對于游戲服務端架構(gòu),最重要的三個部分就是,如何使用CPU、內(nèi)存、網(wǎng)卡的設計:
內(nèi)存架構(gòu):主要決定服務器如何使用內(nèi)存,以最大化利用服務器端內(nèi)存來提高承載量,降低服務延遲。
邏輯架構(gòu):設計如何使用進程、線程、協(xié)程這些對于CPU調(diào)度的方案。選擇同步、異步等不同的編程模型,以提高服務器的穩(wěn)定性和承載量。可以分區(qū)分服,也可以采用世界服的方式,將相同功能模塊劃分到不同的服務器來處理。
通信模式:決定使用何種方式通訊。基于游戲類型不同采用不同的通信模式,比如http,tcp,udp等。
3服務器演化進程
卡牌等休閑游戲弱交互游戲
服務器基于游戲類型不同,所采用的架構(gòu)也有所不同,我們先講一下簡單的模型,采用http通信模式架構(gòu)的服務器:
這種服務器架構(gòu)和我們常用的web服務器架構(gòu)差不多,也是采用nginx負載集群支持服務器的水平擴展,memcache做緩存。
唯一不同的地點不同的在于通信層需要對協(xié)議再加工和加密,一般每個公司都有自己的一套基于http的協(xié)議層框架,很少采用開源框架。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
關于游戲服務器的架構(gòu)演進歷程下載
相關電子資料下載
- 研華推出EPC-B3000系列嵌入式工控機,搭載先進X86架構(gòu)CPU,助力邊緣人工智能應用 91
- 典型汽車網(wǎng)絡系統(tǒng)架構(gòu)設計盤點 28
- 今日看點丨正面對決英特爾,傳英偉達研發(fā)Arm架構(gòu)PC芯片;郭明錤預估蘋果明年 266
- 基于Corundum架構(gòu)的100G RDMA網(wǎng)卡設計 32
- 一文詳解ZGC關鍵技術 26
- 異構(gòu)計算時代,RISC-V架構(gòu)發(fā)展應該更大膽一些 498
- 什么是 “星閃”?星閃技術架構(gòu)和特點分析 149
- AMD推出銳龍 Threadripper 7000系列處理器 170
- 如何使用pthread_barrier_xxx系列函數(shù)來實現(xiàn)多線程之間的同步? 29
- SpringBoot物理線程、虛擬線程、Webflux性能比較 37