游戲風云:阿里云全球同服游戲方案全面解讀_第1頁
游戲風云:阿里云全球同服游戲方案全面解讀_第2頁
游戲風云:阿里云全球同服游戲方案全面解讀_第3頁
游戲風云:阿里云全球同服游戲方案全面解讀_第4頁
游戲風云:阿里云全球同服游戲方案全面解讀_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、游戲風云:阿里云全球同服游戲方案全面解讀本文章來自于阿里云云棲社區摘要:在3月8日的“2017游戲行業全球同服和安全攻防技術沙龍”上,阿里云資深業務架構師韓虎分享了阿里云全球同服游戲解決方案,他從當前的技術環境入手,介紹了業務功能整體架構,并重點解析了四種全球同服游戲參考架構,最后還輔以案例說明典型系統的設計要點。在3月8日的“2017游戲行業全球同服和安全攻防技術沙龍”上,阿里云資深業務架構師韓虎分享了阿里云全球同服游戲解決方案,他從當前的技術環境入手,介紹了業務功能整體架構,并重點解析了四種全球同服游戲參考架構,最后還輔以案例說明典型系統的設計要點。以下內容根據現場分享和幻燈片整理而成。經

2、過前幾年的激烈競爭,2017年國內手游行業進入一個穩定發展期,市場進一步細分,游戲公司紛紛尋求業務創新,其中手游重度化和端游經典IP手游化仍是重點所在,但是很多游戲廠商在去年已開始規劃或操作游戲出海,如研發全球同服手游或發行游戲海外版。背景介紹2016年Supercell推出的全新手游部落沖突:皇室戰爭中,全球同服的概念大獲成功。國內一部分游戲公司看到這種游戲的潛力,紛紛選擇手游出海策略;中國游戲廠商智明星通開發的COK列王的紛爭也取得了不菲的成績。受這些成功游戲的影響,一大批全球同服手游相繼涌現,這也成為游戲公司試水海外市場的突破口。但在其中,還存在著亟待解決的技術痛點:1.游戲架構設計問題

3、,不同類型的游戲如何設計和部署游戲接入層、邏輯層和數據層;2.網絡延遲問題,如何讓不同國家玩家都能快速順暢地接入游戲、進行公平PK;3.數據讀寫問題,在分布式部署方式下如何高效讀寫數據并保持必要的數據一致性;4.資源管理問題,如何統一、高效地進行游戲運維和資源管理。業務功能架構無論頁游、手游還是端游,基本都包含以下的游戲模塊或服務,主要包括游戲服務器和游戲運營支撐兩大部分。全球同服游戲參考架構2016年,通過和客戶的深入交流和廣泛調研,以及我們本身對游戲架構的研究,總結出了以下四種全球同服游戲參考架構。一、全集中部署第一種稱為全集中部署架構,是目前對網絡延遲不敏感的全球同服游戲的主要架構選擇。

4、這種架構下游戲的接入層、邏輯層和數據層全部集中部署到某一區域,全球所有玩家均通過Internet公網接入游戲。適用于希望重點覆蓋某一區域的玩家,實現真正的全球玩家同服,游戲玩法對網絡延遲不敏感,比如游戲的網絡延遲容忍度在300ms以下,又比如傳統的卡牌游戲。這種類型游戲的服系架構,設計初期不適合做分布式部署,如邏輯架構里未設置數據同步的機制,所以在上線時只能選擇全集中部署。架構優點:1.部署簡單、運維方便;2.主要覆蓋區域的玩家游戲體驗較好;3.沒有數據一致性問題。架構缺點:1.無法實現所有玩家就近接入。二、集中部署、優化網絡第二種稱為集中部署、優化網絡架構,該架構中游戲接入層、邏輯層和數據層

5、同樣集中部署到某一區域,然后在游戲所需覆蓋區域的阿里云節點部署接入點或代理。通過智能DNS進行調度后,各區域玩家實行自動地就近接入,游戲服務與各接入點通過阿里云的高速通道進行內網互連。適合于游戲服務器架構不宜做分布式部署,而運營發行方又想覆蓋盡量多的區域,并且游戲網絡延遲容忍度在200ms以內,比如SLG游戲。架構優點:1.部署簡單,運維方便;2.可以實現網絡加速;3.沒有數據一致性問題。架構缺點:1.延遲固定,通過專線進行網絡加速所以延遲是固定值。固定延遲差異對于某些類型游戲來說會帶來玩法上的公平性問題,需要采用幀同步等方法來消除延遲差異。三、數據集中、邏輯分布第三種稱為數據集中、邏輯分布架

6、構,該架構下數據層集中部署到某一機房,然后在全球其他所需覆蓋的區域分別部署一套游戲的接入層、邏輯層和緩存層。它適用于游戲玩法上盡量是同區域玩家間互動,并且對網絡延遲要求較高(比如120ms以下,人的肉眼一般最小可感知延遲是120ms)的游戲類型,如動作類游戲,并且希望全球各區域都同等覆蓋。架構優點:1.玩家可就近接入;2.游戲邏輯就近計算;3.基本不存在數據一致性問題;4.靈活調整分布式節點的部署策略。架構缺點:1.需要多區域部署;2.跨區域玩家互動時會有一方玩家網絡延遲變大;3.需要有完善的臟數據回寫機制以保證數據一致性。以下為該架構的一些關鍵設計點:注:游戲數據庫指與玩家角色直接相關的一些

7、數據;全局數據指游戲排行榜、游戲商城之類的數據。四、全分布式第四種稱為全分布式架構,其中游戲邏輯和游戲數據都是分布式部署的,只有全局類的游戲和數據是集中部署(讀寫不頻繁,對網絡延遲要求不高)。適用于對網絡延遲要求較高的游戲類型,不同區域間玩家有較多互動,希望全球各區域都同等覆蓋,游戲架構中有完善的數據同步機制。架構優點:1、玩家可就近接入;2、游戲邏輯就近計算;3、游戲邏輯層完全無狀態化設計;4、數據讀寫速度快。架構缺點:1、需要多區域部署;2、不同區域間會有較多數據同步,需要完善的數據同步機制。以下為該架構的一些關鍵設計點:全球同服游戲典型系統設計下面是我們提供的全球同服游戲典型系統設計的一

8、些參考,包括世界排行榜、游戲時間設計、游戲本地化方案、游戲同步幾方面。一、世界排行榜世界排行榜服務在設計時需要從需求、分析、數據結構、Rank數據持久化、RankSvr單點問題幾點上考慮,以下是排行服務的架構圖:二、游戲時間設計全球同服游戲面向各個國家不同地區的用戶,所以在游戲時間設定上也要有所注重。游戲服務器都使用距格林威治標準時間1970年1月1日00:00:00的偏移量(一般是一個絕對的秒數)來表示游戲內時間,此時間會同步給游戲客戶端,游戲客戶端取手機所設置的時區來計算出在游戲客戶端里應該顯示的游戲時間。游戲時間同步有其必要性:1.防止客戶端修改本地時間造成游戲邏輯混亂,所以客戶端使用的

9、時間為服務器時間;2.幾乎所有解決游戲狀態同步問題的技術,如預測拉扯技術、服務器驗證同步技術,都需要時間同步作為基礎;3.游戲內一些定時的活動或與時間相關的游戲玩法,為了游戲公平性,必須以統一的游戲服務器時間為標準;4.在客戶端與服務器通信時更為安全的做法是,在每一個數據包中都添加時間戳,用于服務器驗證數據包的有效性。三、游戲本地化方案這是游戲出海很重要的一個點,無論是游戲出海發行還是游戲的地區外發行,都需要注重本地化工作。一般做法是打一個統一的客戶端安裝包,里面包含幾個基礎的素材包,還會包含各種不同語種的美術素材包,還有一些素材是程序素材,可通過手機的語言版本來動態渲染。以下是常見的幾種安裝

10、策略:1.下載客戶端安裝包后玩家自行設置語言版本。這種大安裝包包含各種語言包,軟件內置一鍵切換語言;2.客戶端安裝時根據手機所設置的語言種類進行動態安裝。安裝包一般會內置一套default語言,需要其他語言時,通過網絡下載語言包;3.分別提交不同語言版本的客戶端安裝包到應用商店。針對不同區域投放不同的安裝包,每種安裝包都需要定制化。四、游戲同步同步是網絡游戲的關鍵技術也是難點,如何通過消除或隱藏延遲,從而將用戶帶入快速的交互式實時游戲中,需要根據具體的情況來決定采取哪些不同的同步策略。在游戲同步方案上,有基于時間軸的同步,還有幀同步、Server同步等技術層面。五、游戲數據同步方案一該場景下,

11、游戲邏輯層分布式部署,數據層完全集中部署,那么分布式節點就需要向集中部署的數據層進行數據讀取或回寫。主要有以下兩種情況涉及到該類數據同步:A、玩家在本地區域登錄(流程如圖中紅色字體所示)1.數據庫代理從數據庫讀取角色數據。2.數據庫代理將角色數據插入緩存。3.從緩存讀取角色數據參與計算。4.數據有變化時,同時更新緩存數據和數據庫數據。5.玩家退出游戲時刪除緩存數據。B、玩家跨區域登錄1.先檢查玩家是否已在其他區域登錄,是,執行2,否,執行3。2.將玩家的角色數據回寫數據庫并刪除緩存和退出登錄。3.數據庫代理從數據庫讀取角色數據。4.數據庫代理將角色數據插入緩存。5.從緩存讀取角色數據參與計算。

12、6.數據有變化時,同時更新緩存數據和數據庫數據。7.玩家退出游戲時刪除緩存數據。方案二該場景屬于全分布式系統架構,各分區數據庫實時同步,可通過消息服務或者阿里云DTS實現實時同步,各分區數據庫都存有游戲所有玩家數據。優點:玩家跨區游戲時不用再遷移玩家數據,所有分區都是本地數據讀寫。缺點:由于是異步同步,有可能存在數據不一致情況,如玩家使用VPN進行游戲,如果VPN閃斷,會造成玩家跨區重登錄,如果數據同步消息丟失或有延遲,會造成重登錄時讀取的數據不是最新,這種情況概率較小出現;各分區都存有全部玩家數據,實時同步可能會對數據庫造成一定壓力;各分區間數據庫實時同步會使用較多跨區域專線帶寬。方案三該場

13、景下通過RPC,即遠程登錄的方式進行數據回寫。跨區域登錄時,從玩家出生服遠程讀取戰斗數據,戰斗結果通過接口調用方式觸發出生服進行數據更新。優點:本區域玩家均是就近本地進行角色數據讀寫。缺點:實現邏輯較復雜,需要把所有戰斗結果抽象成接口,統一由原服的接口來進行數據變更。方案四該場景下,玩家在跨區域登錄時需要從玩家上次登錄服遠程遷移玩家數據,每次玩家登錄時均需檢查是否需要遷移數據。游戲同步方案Roadmap圖中劃線處是我們已經完成的方案,未畫線的是我們接下來需要繼續完善的方向。典型客戶案例以下是我們選取的以阿里云解決方案進行游戲部署的典型客戶案例。一、上海木七七卡片怪獸卡片怪獸是一款全球同服卡牌游戲,游戲已經開始推廣,目前游戲服務器部署在阿里云美國西部1地域,由于游戲玩法對網絡延遲要求不高,300ms以下的延遲都不會影響游戲體驗,所以客戶沒有優化網絡接入或者施行分布式部署的計劃,采用的是全集中部署的全球同服游戲架構。二、北京

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論