如何使用私有網絡部署全球同服遊戲服務

版權聲明:本文由吳曉斌原創文章,轉載請註明出處: 
文章原文連接:https://www.qcloud.com/community/article/178html

來源:騰雲閣 https://www.qcloud.com/communitymongodb

 

近年來,隨着移動互聯網技術和全球社交化的發展,全球同服的玩法愈來愈受到遊戲玩家的喜好,最火爆的如《皇室戰爭》自16年3月份發佈來便長期霸榜,支持全球同服的遊戲架構在知乎上一度引發熱議,面對國內各遊戲廠家出海和全球運營需求,騰訊雲利用分佈在全球的雲基礎設施和互聯的VPC網絡爲遊戲服務的全球部署提供了一套完整解決方案。數據庫

一般而言,全球同服的遊戲架構都具備如下幾個特色:

  • 核心數據集中部署:

用戶帳號數據、遊戲核心數據、排行榜等全局類數據通常集中部署在某個中心節點,確保各地區玩家基礎數據能正常交互。緩存

  • 遊戲玩家分地域就近接入:

接入服、遊戲邏輯服、緩存服可在用戶所在地就近接入,不只提高接入層訪問速度,並且非全局類數據可本地存儲,減小數據跨地域交互。服務器

  • 各地域之間數據互聯:

各地域接入服或遊戲邏輯服有時需與全球中心服進行數據交互,如進行跨服戰等全球同服玩法,其中這類與中心服交互的數據就能夠經過專線來傳輸,可大大下降網絡延遲和丟包率。網絡

部署框架圖以下圖所示:
架構

騰訊雲全球同服解決方案說明:

  • 數據中心遍及全球,數據庫集中部署

騰訊雲數據中心廣佈全球,現已在全球範圍內開通16大數據中心,覆蓋5大洲,遊戲數據庫中心服可根據業務須要選擇部署在騰訊雲幾大核心機房之一。選擇中心服部署的機房通常可從兩個方面入手,一是跟產品運營同窗確認遊戲但願重點覆蓋哪一個區域的玩家,如歐美仍是東南亞地區等,二是對比海外各大IDC的網絡質量和覆蓋面,選其最優節點進行部署。負載均衡

下圖是全球200多個國家到騰訊雲海外IDC的網絡質量圖(僅供參考)框架

騰訊雲北美IDC

騰訊雲香港IDC
運維

基於上述數據,如遊戲需重點覆蓋歐美玩家,遊戲中心服可選擇部署在騰訊雲北美IDC,如重點覆蓋韓日臺和部分東南亞用戶,則可選擇騰訊雲香港IDC,如主要覆蓋東南亞用戶,則可直接選擇騰訊雲新加坡IDC。

  • 全球分區域接入玩家

因全球200多個國家到遊戲中心服網絡時延不一,就須要考慮在全球分多個區域就近接入玩家,這可依託騰訊雲分佈世界各地的IDC就近部署一套接入服務,藉助DNSPod雲解析智能調度功能實現玩家的就近訪問。另外考慮到大部分時間裏玩家主要是跟本地域玩家一塊兒遊戲,因此玩家數據也能夠作分區域緩存,按期回寫中心數據庫,避免因實時跨地域讀取數據致使遊戲體驗降低。騰訊雲在國內擁有北京、上海、廣州三大數據中心,在海外還有北美、歐洲、亞太、南美等接入點供業務作分佈部署和接入,如業務有使用緩存服務器則可直接選用騰訊雲提供的Redis或MongoDB等存儲產品,下降業務部署和運維門檻。

這裏以廣州大區作接入部署爲例:

國內玩家經過廣州這個接入點就近接入,部署除全局服外一些基礎模塊,如接入服、遊戲邏輯服和緩存類DB等,而後經過專線將廣州大區與北美大區的全局服進行互聯互通。另外須要注意的是,考慮到運營成本,並不須要每一個接入點都部署一套就近接入遊戲服,有些地區只須要作搭建一個代理作轉發提高接入訪問速度便可。

  • 全球網絡高速互聯

全球同服最大的難點在於如何解決玩家跨服PVP等同服玩法網絡延遲高問題,全球有數千家運營商,各運營商網絡質量良莠不齊,總有用戶是跨運營商訪問遊戲業務,網絡質量難以保證,另一方面是管理緣由,致使各運營商之間出口限制較多,從技術角度看,每增長一跳轉發,一般網絡延遲會多增長几毫秒。爲了解決上述網絡問題,騰訊雲提供如下幾種網絡優化方案。

1.大區間VPC互聯

爲了減小遊戲接入服到全局中心服之間的時延,騰訊雲可經過VPC網絡實現各大區之間的專線高速互聯,與公網相比大大下降跨區間數據訪問的網絡時延,並且創建VPC互聯的操做很是簡單,控制檯上僅需兩步:

第一步:在騰訊雲控制檯上建立對等鏈接;

第二步:在兩端設置路由表;

建立成功後可直接在[對等鏈接]中查看狀態

像香港大區與北美大區若是經過VPC網絡實現專線互聯後,從香港到北美的延遲可控制在200ms左右,基本知足COK、COC類遊戲全球同服玩法的需求。

2.海外POP點加速

騰訊雲除了提供IDC間專線互聯能力外,歐洲、南美、非洲等地還能提供POP點加速方案,減小國際間跨運營商路由轉發的次數和規避運營商之間出口限制等問題。如業務集中部署在北美IDC的話,歐洲用戶就能夠經過騰訊雲在歐洲的POP點作最近接入,而後騰訊雲會直接將流量經過專線回傳至北美IDC,達到網絡質量優化的目的。

從歐洲到北美經過pop點加速後,延遲基本控制在100ms之內,以下圖所示

總結:

綜上所述,部署一款全球同服後臺架構的遊戲咱們可能須要考慮以下幾點:

  1. 全局類數據集中部署:遊戲帳號數據、排行榜等全局類數據能夠集中在某個IDC進行存儲,如騰訊雲北美IDC,基本可覆蓋歐美用戶。

  2. 全球分區域接入:除中心服外,在全球各主要地區部署一套接入服務,如在騰訊雲廣州IDC、新加坡IDC和北美IDC分別部署一套接入服,以實現玩家就近訪問。其中經過DNSPod智能解析實現玩家就近接入,採用騰訊雲LB實現接入層的負載均衡。

  3. 減小跨地域間數據交互:遊戲邏輯上儘可能控制玩家在同區域內遊戲,減小數據的跨區域交互,所以可在每一個區域部署一套遊戲邏輯服和緩存數據庫,緩存服務器或數據庫可直接採用騰訊雲存儲RedisMongoDB,下降開發和運維成本。

  4. 網絡質量優化:國家與國家之間可經過騰訊雲VPC專線或POP點加速方案實現網絡的高速互聯,下降各遊戲接入服與中心服之間數據交互時延,確保全球同服玩法的最終落地。

將來,隨着騰訊雲美東、美西、歐洲、日本大區的逐步開放,覆蓋全球的騰訊雲網絡將爲您提供更加全面的全球同服基礎能力,敬請期待。

相關文章
相關標籤/搜索