阿里雲架構師解讀四大主流遊戲架構

阿里雲開發者發表於2022-04-27
簡介:遊戲行業是阿里雲最早聚焦的行業之一,近年來遊戲行業的變化、雲端計算產品技術的變化都與日俱進。隨著行業業務的變化、技術架構的演進以及阿里雲產品的迭代演進,整體的產品技術選型在不同的遊戲場景、業務場景也不盡相同。本文將聚焦阿里雲彈性計算產品在遊戲行業的方案實踐經驗。

一、概述

遊戲行業是阿里雲最早聚焦的行業之一,近年來遊戲行業的變化、雲端計算產品技術的變化都與日俱進。隨著行業業務的變化、技術架構的演進以及阿里雲產品的迭代演進,整體的產品技術選型在不同的遊戲場景、業務場景也不盡相同。本文將聚焦阿里雲彈性計算產品在遊戲行業的方案實踐經驗。

二、遊戲行業場景介紹

當前,遊戲行業的各種場景和行業發展密不可分。簡單回顧電子遊戲的發展,80年代的黑白機,90年代的PC單機遊戲,00年代前夕隨著網際網路的發展網路遊戲開始盛行,2010年後隨著移動裝置的逐漸普及,手遊在國內開始興起。

從遊戲終端來區別,主要有:主機遊戲(往往是3A遊戲)、PC遊戲、移動遊戲和網頁遊戲等。目前出現跨平臺多端遊戲,以及雲遊戲化的趨勢。

關於遊戲的品類區別會有非常多的維度:RPG(角色扮演)、MOBA類、競技類、FPS(射擊類)、休閒類、卡牌類、棋牌類、SLG(策略類)等等。目前有多品類融合玩法裂變的趨勢。

隨著國內防沉迷、版號因素,近年來遊戲行業誕生了越來越多的精品遊戲,出海全球化乃至區域化,以及整體存量使用者增速放緩,長線運營、精細運營以及私域社群等運營方式也在悄然變化。

三、遊戲行業技術架構介紹

不同的業務場景技術架構不盡相同,如競技類遊戲和卡牌類遊戲對計算的需求就有所區別,雲遊戲與常規的網路遊戲架構也有所區別。這裡主要從遊戲服和遊戲平臺、大資料、雲遊戲這四個目前常見的場景簡單介紹其架構。

1 遊戲服架構與產品實踐

業務場景

遊戲服,從遊戲型別來看有RPG、FPS、MOBA、SLG、棋牌、休閒等等;從遊戲平臺來看通常有主機、手機、PC等;從業務發行來看有全球、國內、海外,從部署架構來看有集中部署和分割槽部署;從技術架構來看,遊戲行業也有逐漸分層解耦的趨勢,但與網際網路應用相比,有一定其獨特性。

技術特點

因為遊戲的強互動性特點,遊戲技術架構與其他網際網路應用相比有一定獨特性。遊戲需要保持會話連線,也就是從一個客戶端到服務端的長連線,便於對客戶端中玩家的操作、行為等進行及時的反饋以及推送給共同遊戲或對戰的其他玩家,所以遊戲普遍對網路質量更加敏感,網路質量較差的情況會使長連線斷開或重連,引起玩家掉線。遊戲也需要保持會話的狀態,既服務端會保持一份玩家的實體,當玩家進行操作時,下次通訊的資料會依賴之前的通訊的資料,這也是一些MMO(多人線上)大型遊戲對網路吞吐效能要求較高的原因之一。再比如FPS、MOBA類等多人對戰類遊戲,互動性更強,對網路延遲容忍度更低,要求低延遲。因為遊戲需要比較高密度的記錄玩家的操作以及結果,所以有頻繁寫入資料的特點,這類場景需要較強的IO效能。因為遊戲強互動性、低延遲的特點,其技術架構也和網際網路應用不同,在逐漸分層解耦的同時,需要保證遊戲玩家的互動效果,同時也會依賴到底層伺服器的計算能力。

這些都是遊戲場景普遍存在的特點:長連線保持會話、保持狀態、低延遲網路、高IO吞吐、高計算效能。

部署方案

遊戲的部署架構會結合遊戲業務特點、遊戲運營需求來制定遊戲服務,有分割槽分服、全區全服業務邏輯,分割槽分服還是全區全服,最大的架構差異在於資料是不是一套。而從部署方式看,主要是集中式部署和分割槽域部署。

集中部署就是不論遊戲玩家在哪裡,遊戲服務集中在一個區域,適合對網路延遲要求通常不高的遊戲型別,如休閒類;分割槽部署是指遊戲伺服器根據遊戲玩家地域分佈,分割槽域部署,方便就近接入,適合對網路延遲要求較高的遊戲型別,如MOBA、FPS類。

典型架構

i. MMORPG類遊戲架構介紹

MMO類有高併發特點,大量玩家併發的高計算量負載對伺服器的計算能力和穩定性有著極高的要求。同時MMO類遊戲有著比較強的PVE或PVP特性,對網路延遲的容忍度較低。

其中閘道器伺服器負責所有網路資料包的轉發,通常是網路負載較集中的點,對於網路吞吐能力要求較高。單個遊戲區承載玩家數量高,邏輯伺服器通常按照場景地圖來劃分,規模再大會通過分割槽的方式實現。

資料中心伺服器負責快取玩家資料並非同步入庫,保障玩家客戶快速獲取和寫入資料,對於可用性要求較高,需要配合應用層實現資料容錯機制。

日誌伺服器承載了大區所有業務行為的日誌收集及處理的壓力,對磁碟寫入效能要求較高,通常採用多臺分組方式實現。

 title=

彈性計算產品建議:

(1)MMO遊戲服效能與穩定需求,建議使用最第7代ECS例項,根據實際需求選型c計算型(CPU與記憶體配比1:2)/g通用型(1:4)/r記憶體型(1:8),Intel Ice Lake 2.9GHz基頻3.5GHz睿頻提供超高效能,能更好地優化遊戲體驗。

(2)非同步落庫以及日誌伺服器,對於磁碟讀寫效能要求高的場景,建議雲上使用ESSD PL 0/1/2/3根據業務效能需要選擇,避免磁碟讀寫瓶頸。

(3)在遊戲日常版本更新中,需要各個地域Region映象的快速複製,基於ESSD快照異地複製的能力,能夠提升映象複製效率。

(4)分割槽分服等場景往往需要快速地開服滾服合服,通過CADT雲速搭、ESS彈性伸縮、OOS運維編排、ROS資源編排等雲上運維工具搭配產品使用,能夠提升雲上運維效率。

ii. FPS、MOBA類遊戲架構介紹

MOBA類遊戲主要包括PVP系統、PVE系統、遊戲平臺等幾個主要部分,其中PVP戰鬥是MOBA/FPS遊戲的核心。

PVP、PVE、遊戲平臺功能部署於同一VPC中,構成遊戲大區;戰鬥伺服器(往往)單獨跨地域部署。

遊戲客戶端首先接入到登入伺服器中,完成登入認證、計費等遊戲平臺邏輯。為避免單點問題,所以遊戲平臺服務往往需要高可用方案。可利用雲上高可用方案,包括便捷的運維工具滿足業務高可用需求。

FPS/MOBA競技遊戲,往往對延遲特別敏感,可以想象,競技類遊戲中對戰的遊戲場景:玩家操控人物,在地圖裡步伐飄逸,槍聲密集,每一顆子彈都是一次時間加上空間的向量計算,而且需要在主程式中完成計算,那麼算力需求就隨著房間玩家數量上升而指數爆炸,5V5的房間和大房間100人(吃雞)對算力的需求完全不同。

遊戲這部分重算力場景,推薦阿里雲7代高主頻或七代例項,更高的單核效能提供更好的戰鬥效果。

戰鬥房間類遊戲,因為業務本身峰谷特性,靈活地使用雲上資源的彈效能力,往往會較好地優化整體的資源使用成本。阿里雲彈性計算本身提供了非常靈活的付費方式,包括常規的按量例項、包月包年例項、以及通過節省計劃/預留例項券去抵扣按量例項資源,兼顧資源靈活使用的同時達到更優的成本。

此外,為更進一步釋放開發運維的效率,當前一些遊戲也採用了容器化技術架構,阿里雲的ACK+ECS/ECI彈性容器例項組合搭配使用,更進一步釋放了基礎資源的靈活性和彈效能力。

 title=

2 遊戲平臺

業務場景

遊戲平臺(不限於FPS、MOBA類)主要提供的服務:官網、客服、註冊、登入、充值、兌換、商城、推送、公告、社群、SDK及郵件、簡訊等公共服務;包括內容稽核、視訊錄製、彈幕、轉碼、剪輯、RTC這些業務需要的基礎服務,以及運維監控、釋出平臺、測試平臺這些運維等平臺服務。

這部分更接近於通用的網際網路技術架構,以服務為顆粒度解耦,接入->閘道器->應用->資料庫。

技術特點

這往往通常需要構建高可用基礎架構來提升穩定性,業務突發期往往需要一定的彈效能力。相比於遊戲服務這部分容器化就更加普及,也更容易通過雲上的比如彈性容器例項去應對流量峰值場景。在視訊錄製場景,對實時性要求較高時,往往會基於GPU能力構建,這部分阿里雲也提供了vGPU/cGPU能力,釋放GPU的靈活性。

 title=

3 大資料架構與產品實踐

業務場景

遊戲全生命週期的業務表現,使用者留存、經營轉化、包括遊戲內玩法策略等都是遊戲廠商非常關注的業務支撐資料。

大資料是當前遊戲業務經營、遊戲運營主要的技術手段,主要面向平臺資料運營、遊戲資料分析、廣告轉化分析、安全運營分析等遊戲核心運營場景。不同的場景對實時性要求不同,實時查詢檢索通常是經營分析、客戶受理、玩家監測、線上等場景;離線報表通常是玩家行為分析、使用者畫像、特徵挖掘等場景。

總體而言,實時性業務更多是業務查詢類、簡單計算類任務,比如買量轉化的分析;離線類基本是分析類、預測類任務,比如遊戲玩法分析。

架構特點

從技術架構來看,得益於開源社群技術棧的高豐富度,大資料具體的技術選擇非常之多,整體從存算一體到存算分離,也誕生像資料倉儲、資料湖乃至湖倉一體等概念。

從資料架構流程來看,從資料來源->資料採集、傳輸->資料計算、儲存->資料應用,其中可選看技術方案也需要因地制宜。

從部署架構來看,不同的遊戲公司處在不同的資料建設階段,會有不同的選擇傾向,包括完全自建、基於雲自建大資料、基於雲上託管、以及利用更多雲上成熟的產品技術去豐富整體的大資料能力集,而後者也成為越來越多客戶的選擇。

拿雲上大資料方案舉例來講,比如實時計算部分,選擇SLS採集、Kafka資料閘道器通道,通過Flink做資料計算,通過ES或CK做資料分析,通過ADB以及QuickBI做資料應用展示。離線方案通過OSS做冷資料儲存,Spark、Hive、HDFS等元件做資料計算儲存,通過CK匯聚分析,通過Dataworks做資料應用。

產品選型

具體計算儲存的產品選型,主要根據不同的業務特性以及大資料應用特性來區分,根據資料容量、IOPS、吞吐、讀寫特點以及價效比來選擇。

如剛剛舉例的實時計算/近實時計算場景,Flink具備高效能、低延遲特點,所以是計算密集、網路效能高場景,推薦選型七代ECS例項或6代增強例項;如HDFS需要超大儲存容量,高吞吐,推薦D系列本地盤例項,如D2S儲存型本地盤例項。Remote Shuffle Service等處理結果多的場景,讀寫處理頻繁如大量的join計算,需要綜合來看計算、網路、儲存效能以及綜合成本來選擇通用例項(如第7代ECS例項)或i系列本地盤例項。所以,最終在雲上的資源選型,在效能滿足的前期下,需要評估通過網路傳輸資料成本高(雲盤),還是就地取材計算成本高(本地盤),不同模型、不同量級選擇不同。

從記憶體處理(成本最高、效能最好、儲存容量最小)、SSD本地盤、HDD本地盤、ESSD雲盤、OSS物件儲存(成本最優、效能一般、儲存容量最大),逐漸分層解耦,還帶來一個好處:充分釋放了雲上彈性的能力,可以利用更輕巧的彈性計算產品(如SPOT搶佔式例項方式,或ECI容器例項)進行大資料計算,達到更好的彈效能力去滿足業務需求的同時也能節約更多的成本。

 title=

4 雲遊戲架構與產品實踐

業務場景

從2009年ONLIVE提出雲遊戲理念與產品開始,雲遊戲已經熬過了一個技術週期,尤其在近兩年,我們也能夠看到越來越多的公司關注雲遊戲,投入雲遊戲。平臺以流化能力為技術基礎,以視訊流化形式帶動遊戲執行,使使用者以低成本享受更高品質遊戲產品,並根據實際將雲遊戲的需求覆蓋到PC端、移動端、電視端等終端場景。

架構特點

雲遊戲主要分終端和雲端。終端部分基於Windows、iOS、Linux等作業系統的終端裝置包括手機、平板、電腦、電視機、VR一體機等。雲端架構主要是遊戲應用層、雲遊戲平臺層、IaaS基礎資源層,應用層包括PC遊戲、手遊、VR遊戲、H5遊戲等多種型別的遊戲應用;平臺層雲遊戲必須的運營平臺、支撐平臺、流化技術平臺等;IaaS基礎資源層包括基礎網路、基於X86架構以及ARM架構的GPU伺服器。

 title=

產品推薦

雲遊戲落地,在技術上也經歷了諸多挑戰,為滿足端到端高效能低時延,網路排程、指令串流、編解碼、多終端的SDK適配等等都是雲遊戲場景中不可避免的技術問題。

對於雲端算力來講,阿里雲解決了雲端渲染、串流以及編解碼問題,並通過全系列GPU產品來滿足雲手遊、端遊、VR乃至企業級視覺渲染場景的需求。

 title=

總結來講,阿里雲彈性計算通過雲上的串流、編碼加速、渲染加速等全套的技術幫助遊戲客戶給雲遊戲玩家提供更好的效能體驗,通過基於阿里雲全球資料中心可以幫助雲遊戲客戶覆蓋更多的使用者,通過GPU多種產品形態和整體的彈效能力,也幫助到遊戲客戶去更快捷更靈活的構建其雲遊戲業務。

 title=

四、總結

阿里雲通過多年的技術積累和持續的運營,提供了大規模的基礎設施雲服務,目前在全球部署了26個地域、82個可用區,通過優異穩定的效能表現幫助遊戲客戶高效穩定地執行遊戲業務,為玩家提供極致順滑的遊戲體驗,並通過技術手段不斷地幫助遊戲客戶優化用雲成本。

 title=

國內的業務出海、遊戲出海也是現階段大的趨勢之一,很多遊戲公司已經把出海從業務可選項變成了必選項之一。在2022年3月,阿里雲上線了韓國和泰國兩大Region,能夠為本地化的遊戲業務提供更流暢、更穩定的遊戲體驗,以此希望能在遊戲客戶出海的業務領域,提供更多的幫助。

當然,作為內容與科技兩大熱門領域的交叉領域,遊戲產業日新月異,架構也隨著前端業務的需要不斷改變。阿里雲彈性計算也針對遊戲廠商的不同架構,陸續推出了不同的雲伺服器型別和付費方式,以及雲上運維套件,以幫助客戶降本增效。

未來,阿里雲將持續對遊戲行業保持高度關注,始終為行業提供堅實、穩定、便捷的基礎設施,一同推動遊戲產業的健康發展。

版權宣告:本文內容由阿里雲實名註冊使用者自發貢獻,版權歸原作者所有,阿里雲開發者社群不擁有其著作權,亦不承擔相應法律責任。具體規則請檢視《阿里雲開發者社群使用者服務協議》和《阿里雲開發者社群智慧財產權保護指引》。如果您發現本社群中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社群將立刻刪除涉嫌侵權內容。

相關文章