大型多人線上 (MMO) 手遊

隨著手遊市場不斷成熟,角色扮演遊戲 (RPG) 開始走紅。在所有 RPG 遊戲中,MMO RPG 是最流行的遊戲類型。 手遊開發商最大的難題是構建可靠、強大的後端架構,以便為手機 MMO 玩家提供可媲美傳統 PC 端遊戲的酣暢淋漓的遊戲體驗。阿里雲 MMO 手遊解決方案提供了高可伸縮而且經過最佳化的架構,滿足了手遊開發商的需求。

推薦解決方案架構

解決方案描述

  1. 1. 全域服務主備容災。
  2. 從服務影響範圍來分的話,遊戲伺服器中的服務大體分為區服類服務(如聊天服)和全域類服務(如網關服),而全域類服務一旦出現故障就會影響到遊戲的全部玩家,所以需要保證全域性服務的高可用,而在Elastic Compute Service上搭建主備雙活節點的方式則可以保證這一點。
  3. 2. 分層的架構。
  4. 採用經典的三層架構(分別是接入層、邏輯層和資料層),其中接入層主要負責遊戲帳號登入認證、通訊包加解密、用戶端串連管理等功能;邏輯層實現遊戲主要商務邏輯,比如區遊戲服、聊天、熱門排行榜等;資料層解決資料持久化儲存和共用快取的問題。採用雲資料庫RDS可以解決資料庫主備容災、讀寫分離以及分散式資料庫等需求,邏輯層中核心的情境伺服器可以基於情境靈活地進行擴充,提升單區最高同時線上玩家數。
  5. 3. 跨地區彈性部署。
  6. 客戶可將不同的遊戲服部署到阿里雲不同地區的資料中心,結合阿里雲Auto Scaling服務ESS方便搭建自動開服系統,這樣也可以做到使用者就近接入以提高網路訪問品質。
  7. 4. 專用資料緩衝。
  8. 由於MMO類遊戲單區有較高的玩家同時線上,為了快速讀寫玩家的遊戲資料,採用阿里雲開放快取服務OCS和阿里雲KVStore for RedisKVStore構建緩衝層,來提高資料讀寫的速度,這樣也可以減小後端資料庫的讀寫壓力,緩衝中的資料可以採取定期分批的策略進行持久化。
  9. 5. 遊戲更新包下載。
  10. 基於阿里雲的CDN和開放儲存服務OSS搭建而成的遊戲更新包下載系統,可以高效方便完成MMO類型遊戲頻繁的遊戲用戶端更新包的分發工作。


解決重大難題

隨著手遊玩家被漸漸往重度化方向培養,越來越多的RPG遊戲上線,其中大型多人線上遊戲MMORPG是RPG類型遊戲中非常重要的細分領域,如何讓移動玩家也能像傳統PC端遊玩家一樣流暢地玩手機MMO是手機遊戲後台架構設計和開發人員面臨的新的挑戰。
針對MMO遊戲的需求和挑戰,阿里雲提出了以雲端運算平台為基礎的解決方案。該方案具有以下優勢:
大頻寬高包量
高網路吞吐能力
由於MMO類型遊戲一般都希望可以盡量做大視野,且其核心玩法基礎是移動和戰鬥,要求同屏間玩家需要互相即時可見,大量的移動包和戰鬥包都是需要在視野內進行廣播,這種玩法背景下,MMO遊戲伺服器在擁有較高的玩家同時線上數時,會產生大量通訊包,所以MMO遊戲伺服器的接入層需要充足的網路頻寬和高網路包輸送量。
阿里雲有充足的頻寬資源,負載平衡以叢集方式提供接入支援,針對遊戲客戶可以提供萬兆網路裝置,最高效能Elastic Compute Service可支援達幾十萬pps、Gbps級的網路吞吐能力。
資源Auto Scaling
資源Auto Scaling
MMO類手機遊戲具有“輕遊戲”和“時間片段化”的特點,這種 “短平快”的行業特性,需要最大化節約和利用遊戲伺服器資源,能夠高效完成MMO遊戲伺服器合區、合服。
阿里雲包括Elastic Compute Service、雲資料庫RDS在內的多款服務均支援服務自身的縱向變更配置或橫向擴充,結合Auto Scaling服務ESS可以實現基於業務負載情況的水平自動調整,滿足不同業務階段對資源量動態調整的需求。
高計算能力
高計算能力
對於MMO類型的網遊,遊戲策劃們希望通過玩家之間的強互動來吸引更多的玩家,所以需要儘可能提高單區玩家同時線上數。單區最高玩家同時線上數一般要求能夠達到數千,所以MMO類型的網遊屬於強互動強校正類型,對遊戲伺服器的計算能力有比較高的要求。
阿里雲Elastic Compute Service採用最新型號多核高主頻CPU,且通過靈活的多情境服模式以叢集方式提供單區的計算能力,可以滿足單區數千玩家同時線上時對伺服器計算能力的需求。
就近接入
穩定的遊戲接入體驗
MMO類型網遊往往會採用分區、分服和跨地區多中心等就近部署的模式,讓遊戲玩家通過就近接入方式串連遊戲伺服器,保證遊戲流暢性,提升遊戲體驗。
充分利用阿里雲多地區BGP資料中心和阿里雲高速傳輸網路的資源,實現各分區的異地分布式部署,讓玩家可以就近接入遊戲,減少掉線和卡頓等現象。