免费观看精品视频_国产精品免费久久久久影院_欧美日韩另类丝袜其他_久久狠狠久久综合桃花

當前位置:首頁 > 團建方案 > 拓展游戲方案(拓展游戲項目大全)

拓展游戲方案(拓展游戲項目大全)

admin4年前 (2022-04-09)團建方案
拓展游戲方案

在上周的 Cloud 干貨中我們從谷歌的基礎架構入手,分析了其在游戲場景中的幾大獨特優(yōu)勢:優(yōu)質層級的網絡服務、全球 VPC、負載均衡等(點此復習)

那我們今天的文章繼續(xù)來聊聊如何借助 Google Cloud來打造靈活可擴縮的游戲解決方案,簡單來說主要分為三個層面:游戲接入層、服務器、數據庫的擴展方案。

下面我們逐一展開.....

游戲接入層的擴展

正式開始之前我們先來看一個短視頻:

視頻鏈接:https://mp.weixin.qq.com/s/NxdwY8rmUJ2JxMyaTY3Bcw

這里主要有四個數字需要關注

一、隨著玩家的不斷加入,請求新開服務器的數量

二、實際開起來的服務器的數量

三、正在運行的服務器的數量

四、同時在線的玩家數量

我們會發(fā)現,一和二是完全匹配的,且游戲服務器的數量跟隨玩家數量呈正向變化。這就是我們經常會聽到的 Google Cloud 的自動、按需擴展。

且注意,Google Cloud 的自動擴展是不需要預熱的。

那么,什么是預熱呢?

在實際情況下,游戲廠商不只會有一臺主機,會同時有很多游戲服務器,在這些服務器按之前還會有一個類似于負載均衡 Load Balancer 的服務,負責接受玩家請求,并將其分配給某臺游戲服務器。這里的負載均衡本身可能是一個虛擬機(也可能是一臺物理設備),當數以萬計的玩家涌入時,同樣需要對其擴展,否則會成為服務的瓶頸。

負載均衡的擴展即預熱,需要時間和人工進行干預。

那么 Google Cloud 如何做到無需預熱、按需擴展?

拓展游戲方案

事實上,Google 的 Load Balancer 并不依賴某一臺物理設備,甚至不依賴于某一機器集群,也不是單一的一個服務,而是由一組服務組成的一個遍布全球的分布式系統。從2008年開始,Google Cloud Load Balancer的很多關鍵服務,就一直在支持Google Search / Map / Adwords等多個業(yè)務的全球擴展。

拓展游戲方案

另外,在之前的文章中,我們說到的“就近接入”,Google 的 Load Balance 并不在云的 VPC 里面,而是遍布在全球144個 POP 節(jié)點上,而且,在將用戶請求負載均衡到位于 Google Cloud 的應用之前,會在靠近用戶的邊緣站點處終止用戶的 TCP 連接。它還為 SSL 連接提供證書。這樣做的好處之一,就是可以利用Google 的骨干網絡,加速用戶訪問的速度。

游戲服務器的擴展

游戲服務器到底應該放在虛擬機還是容器上?

這個問題其實并沒有標準答案,完全取決于業(yè)務情況以及團隊的技術能力。

拓展游戲方案

但是我們需要注意的是,每臺虛擬機都有獨立的操作系統,彼此之間隔離性較好。同一個宿主機上,當一臺虛擬機癱瘓之后不會影響其他虛擬機,持久性也會更好。如果之前您的游戲是運行在物理機上的,遷移至虛擬機時要比到容器上的學習成本更低一些。

當然,容器的好處在于同一臺主機上,共享同一個操作系統內核,可以更快更輕啟動。另外在同一臺宿主機上,可以比虛擬機裝更多的容器,充分利用機器的資源。同時,容器的打包部署速度比較快,也比較簡單,可以給予用戶持續(xù)集成和持續(xù)部署的能力。

但是就像微服務給我們帶來好處的同時把這個復雜性甩給了網絡一樣。那么容器也給我們帶來很多新的挑戰(zhàn)。比如:

拓展游戲方案

為了解決這些問題,Google 開源了容器編排管理工具 Kubernates (Google在其多個核心業(yè)務中,使用容器技術已超過十年,每周都會發(fā)布將近20億個新容器)可以解決的問題包括:

-編排: 決定在哪兒運行容器

-健康檢查: 確保容器運行在期望的狀態(tài)

-擴展: 增加或者減少容器數量

-發(fā)現: 尋找某個容器的位置

-負載均衡: 在多個容器之間分發(fā)流量

-存儲: 保存數據

-日志與監(jiān)控: 追蹤容器的事件、指標

-調試: 定位問題

-驗證與授權: 控制誰可以對哪個資源做什么操作

針對游戲領域,在2019年 Google Cloud 聯手 UBISOFT 打造了一款叫做Agones 的開源項目。

Agones 被設計用來托管和擴展游戲服務器, 它構建在 Kubernetes 之上,靈活性非常好,可根據多人游戲需求進行定制。

相較于直接在 Kubernetes 上直接搭載游戲服務器,Agones 的好處主要有以下幾點。

首先 Agones 在 Kubernetes 之上,使用游戲開發(fā)者熟悉的語言和概念,又做了一層封裝,例如:Game Fleet、Game Server等,會大大縮短了游戲開發(fā)者的學習時間,降低了入門門檻。

其次,也是非常重要的一點,Kubernetes 并不知道集群里某一個 POP 上正在有人打游戲。那么在 Scale in 的時候,可能會誤刪正在運行的游戲服務器,給玩家?guī)矸浅T愀獾挠螒蝮w驗。

另外,Agones 還提供了更加豐富的SDK,如:Unreal 、Engine 、Unity、 C++、 Node.js、 Go Rust、REST 。

拓展游戲方案

通過上方的架構圖可以看到當更多的玩家加入請求對戰(zhàn)時,他們的請求會被發(fā)到 Matchmaker,即匹配服務。

我們注意這個服務,并不是 Agones 提供的一個功能,你可以使用自己任意喜歡的匹配服務。匹配好了以后,通過 Kubernetes 來請求分配給玩家一臺游戲服務器。

這時Agones會去調用 Agones Controller, Agones Controller 會從圖片下方 Fleet 里面找出一臺游戲服務器,然后把這臺游戲服務器的端口的 IP 地址返回到游戲客戶端,然后游戲客戶端就可以連上來,進入愉快的游戲時間。

百聞不如一見,下面我們來看一段 demo,看一看如何在這個通過 Agones 來創(chuàng)建一臺及一組服務器。

視頻鏈接:https://mp.weixin.qq.com/s/NxdwY8rmUJ2JxMyaTY3Bcw

在這個 Demo 中我們看到的是手工擴展的方式,那么有沒有自動擴展的方式呢?

有,且有兩種。

其一是 Buffer Size ,即在任何時候,需要有多少臺機器被分配出去,通過 bufferSize 可以直接進行指定,如在下圖中指定了永遠有兩臺 ready 狀態(tài)的服務器可以用于分配,當然通過 minReplicas 和 maxReplicas 可以指定用于分配的服務器數量的上下限。

拓展游戲方案

拓展游戲方案

另外一種方式是 Webhook ,通過Webhook 我們可以自定義一個 Webhook Service ,進行指標自定義及觸發(fā)擴展或收縮的動作。

當然,為了讓游戲開發(fā)者更加專注于游戲開發(fā)而不是底層資源管理,2019年 Google Cloud 還推出了一個托管服務:Game Sever,使用它的好處在于:

-選擇 可管理運行在GKE上的游戲服務器集群,未來還將支持混合云 / 多云的管理。

-靈活性 可以跟包括Open Match在內的多種匹配服務結合使用。

-可視化 可視化的管理界面和監(jiān)控界面。

-簡化 發(fā)布之前可以先Preview。支持在全球范圍內統一發(fā)布,也可以在不同區(qū)域定制化部署。

其中簡化管理非常重要,Agones 更適合于一個 Region ,即一個區(qū)域管理一個集群,如果您的游戲是跨多個區(qū)域的,每個區(qū)域有多個集群,甚至在不同的集群上跑著不同的游戲。這個時候 Game Sever 就會派上用場了,首先這里我們要明確兩個重要的概念:

發(fā)布, Game Sever 的一次發(fā)布即游戲的一個版本。

Clusters,即配置,這里可以全球同一個配置,也可以不同區(qū)域不同配置,如下圖。

拓展游戲方案

游戲數據庫的擴展

數據庫的擴展應該是三個部分中最難的,這是因為傳統的數據庫往往會成為限制游戲性能的瓶頸。

因為從第一天開始,它就被設計為一個單點,很容易出現單點故障。

那么解決方法之一就是對傳統數據庫進行分片,思路就是把數據分成很多份。然后每一份數據扔到不同的數據庫服務器上,比如下圖左邊所示,根據玩家的id 進行分片,a 到m 開頭的玩家,分配到數據庫服務器一,剩下的分配到數據庫二。同理,我們也可以根據玩家地理位置或者玩家使用的設備類型進行分片。

拓展游戲方案

分片雖好,但是也帶來了很多的問題。

比如說維護成本很高。舉個例子,一臺數據庫可以支持最多一萬個玩家的請求。那么如果有一百萬的玩家,就需要一百臺數據庫服務器。

第二就是可升級性、維護性較差。我們知道游戲的玩家是來自于五湖四海,游戲的時間也會比較分散。很難找一個合適的時間對數據庫 Shutdown 來進行升級維護或者打補丁。

另外就是服務可用性的保障。最重要的是數據分片以后,數據的管理就會變得異常復雜,容易出現問題。舉個例子,我們需要統計某款游戲中哪一個角色被使用的最多。數據庫服務器一統計出來是角色一,服務器二統計出來的是角色二。但是有一種可能,角色三,在每一臺數據庫服務器上統計出來的都不是 Number One,但是加在一起它就是最受歡迎的角色。這就是數據匯總的問題,但涉及到數據匯總背后又會牽扯到很多復雜的事情,如數據如何跨節(jié)點輸出、如何保持數據一致性等等。

針對這些問題,Cloud Spanner 可以很好解決,這是一個關系型數據庫,支持 Schaema、ACID、標準的SQL。具備 NoSQL 數據庫橫向擴展的能力,全托管,沒有計劃內停機的時間,還提供高達99.999%的服務可用性保障。

來自于第三方調研機構 Enterprise Strategy Group,一個為期三年的對數據庫成本分析。經過分析發(fā)現 Cloud Spanner 對比數據庫本地分片。三年之內,整體擁有成本節(jié)約了78%,對比其他云廠商的類似的方案,也有37%的成本的節(jié)約。

最后我們來看一個客戶案例。

Dragon Quest Wolk,勇者斗惡龍系列的 AR 版本。2019年9月發(fā)布的首周就有五百萬的下載量,至今仍然每秒都有數億好幾千次的這種數據庫的查詢,運行在上百個這個cloud spanner 節(jié)點上。

為什么使用cloud spanner呢?

根據該客戶自己的總結,主要是以下幾點。

首先是從擴展性的方面,過去通過手工擴展,往往需要幾個小時,甚至幾天,現在只需鼠標點一點幾分鐘就可以擴展。

其次,穩(wěn)定性。過去每個月至少有一次數據庫停機,現在偶爾會有,但是也不是因為 Cloud Spanner 的問題。

最后,從開發(fā)者的角度。過去除了開發(fā)游戲還要負責處理多個數據庫節(jié)點之間復雜的分布式事務,,以及數據一致性的問題。寫出來的代碼很難看懂。現在這些事情可以交給 Cloud Spanner 去做。開發(fā)者可以將更多的精力 Focus 在自己的游戲上,寫出來的東西更加的簡潔和易于維護。

下圖是Dragon Quest Wolk 的架構圖。我們看右邊的數據部分,用 Cloud Spanner 管理存儲用戶的數據,BigQuery 進行數據分析,一主多從的 My SQL 用來master 信息,即游戲中怪獸、道具的信息。用這個 Memorystore 即內存數據庫將經常用到的查詢 Cash 到里面,從而提高數據庫的數據訪問速度。

拓展游戲方案

以上為今天的內容,下一次我們來聊一聊如何借助數據分析+AI 來進行游戲營銷,掌控玩家行為。

如果大家關于今天的內容有什么問題,歡迎在評論區(qū)與我們交流互動~

想獲取更多谷歌云相關資訊及干貨內容?

趕緊關注我們吧!

掃描二維碼推送至手機訪問。

版權聲明:本文由一點團建發(fā)布,如需轉載請注明出處。

本頁地址:http://m.udianyisi.com/post/151990.html

免费观看精品视频_国产精品免费久久久久影院_欧美日韩另类丝袜其他_久久狠狠久久综合桃花
日韩在线视频在线| 精品乱子伦一区二区三区| 国产成人午夜视频网址| 亚洲一区精彩视频| 国产乱码一区| 国产精品美乳在线观看| 欧美视频小说| 国产成人手机视频| 青青青在线观看视频| 日韩在线国产精品| 青青草久久网络| 久久天天躁狠狠躁老女人| 男人天堂成人在线| 国产精品国产精品国产专区蜜臀ah | 精品免费久久久久久久| 黄页网站在线观看视频| 久久久www成人免费精品张筱雨| 日韩精品一区二区三区四区五区| 国产超碰91| 日韩精品成人一区二区在线观看| 国产成人综合av| 午夜精品视频在线观看一区二区| 99久久精品无码一区二区毛片| 一区二区三区av| 99久久国产免费免费| 亚洲 日韩 国产第一区| 97久久精品视频| 亚洲精品欧洲精品| 国产成人精品免高潮在线观看| 日日橹狠狠爱欧美超碰| 国产成人黄色片| 欧美中文字幕精品| 国产精品丝袜久久久久久不卡| 免费在线精品视频| 欧美精品少妇videofree| 国产欧美日韩网站| 亚洲欧美日韩在线综合| 久久久久久a亚洲欧洲aⅴ| 日本10禁啪啪无遮挡免费一区二区 | 日本成人精品在线| 日韩在线视频观看| 欧美大陆一区二区| 欧美激情国产日韩精品一区18| 91精品国产高清久久久久久久久| 日本一区视频在线观看| www欧美日韩| 国产三级精品网站| 亚洲AV无码成人精品一区| 久久久久亚洲精品| 免费国产黄色网址| 一本久道综合色婷婷五月| 国产黄色片免费在线观看| 欧美一区二区影视| 美女av一区二区| 国产黄色特级片| 裸模一区二区三区免费| 亚洲五月六月| 日韩中文字幕免费| 国产裸体舞一区二区三区| 午夜久久资源| 国产精品免费成人| 97久久精品午夜一区二区| 欧美在线观看一区二区三区| 国产aⅴ精品一区二区三区黄| 国产精彩精品视频| 精品欧美日韩| 天堂av一区二区| 精品乱码一区| 久久久久久国产精品mv| 国产专区一区二区| 日本高清视频一区二区三区| 精品久久久久av| 久久久久久久久中文字幕| 国产乱肥老妇国产一区二 | 污视频在线免费观看一区二区三区| 久精品国产欧美| 国产麻豆电影在线观看 | 韩日欧美一区二区| 亚洲欧美综合一区| 国产精品海角社区在线观看| 国产激情在线看| 国产精品一区二区久久| 日韩国产欧美精品| 亚洲欧美国产一区二区| 国产精品久久久久久免费观看| 国产福利精品在线| 成人91免费视频| 精品午夜一区二区| 欧美综合在线第二页| 午夜肉伦伦影院| 中文字幕日韩精品久久| 国产精品嫩草在线观看| 色婷婷av一区二区三区在线观看 | 日本一区二区三区四区视频| 欧美日韩电影在线观看| 久久精品国产2020观看福利| 国产精品69久久久| 国产一级特黄a大片99| 欧美在线不卡区| 欧美一级中文字幕| 亚洲精品蜜桃久久久久久| 欧美日韩国产成人| 国产精品成av人在线视午夜片| 日韩一区二区久久久| 91精品国产高清| 成人久久一区二区| 国产一区二区视频在线观看| 欧美极品欧美精品欧美| 欧美激情一区二区三区在线视频| 日韩欧美一级在线| 日韩av中文字幕第一页| 日韩av免费电影| 日本一区视频在线观看| 日韩中文字幕在线视频观看| 亚洲 国产 日韩 综合一区| 亚洲国产欧洲综合997久久| 亚洲一区二区久久久久久久| 欧美精品福利在线| 九九久久精品一区| 美女精品视频一区| 久久久久久国产| 毛片精品免费在线观看| 久久亚洲精品一区| 精品国产乱码久久久久久郑州公司 | 91av网站在线播放| 国产精品99久久免费黑人人妻 | 久久久久久综合网天天| 国产v亚洲v天堂无码久久久 | 国产天堂在线播放| 国产情侣av自拍| 国产日本一区二区三区| 国产伦精品一区二区三区高清| 国产日韩一区二区| 成人免费网站在线| 91国产在线精品| 国产av天堂无码一区二区三区| 丝袜一区二区三区| 国产精品区一区二区三在线播放| 国产精品嫩草在线观看| 久久国产精品电影| 欧美精品电影在线| 亚洲乱码一区二区三区三上悠亚| 少妇人妻在线视频| 欧美亚洲在线播放| 国产偷人视频免费| 久久久一本精品99久久精品66| 国产xxxx振车| 国产精品第一页在线| 亚洲最大av网站| 日韩精品最新在线观看| 国内精品久久久久| 成人免费视频97| 久久久噜噜噜久久| 欧美麻豆久久久久久中文| 亚洲乱码中文字幕久久孕妇黑人| 日本亚洲欧美三级| 好吊色欧美一区二区三区视频 | 欧美与黑人午夜性猛交久久久| 精品欧美一区免费观看α√| 国产欧美精品一区二区| 久久久av水蜜桃| 国产精品极品尤物在线观看| 亚洲精品影院| 国内自拍欧美激情| 99在线首页视频| www.日韩欧美| 一区二区三区四区不卡| 奇米成人av国产一区二区三区| 精品一区2区三区| 久久久久久久久久久av| 国产精品视频入口| 欧美成人第一页| 五月婷婷综合色| 欧美极品jizzhd欧美| 国产精品亚洲一区| 日韩在线视频播放| 亚洲在线免费视频| 欧美综合在线第二页| 国产精品中文字幕在线| 久久久久久久久久久成人| 欧美日韩成人免费| 欧美在线视频免费| 99精品视频播放| 国产精品福利网站| 日韩av在线一区二区三区| 国产日韩三区| 色噜噜狠狠狠综合曰曰曰| 中文字幕乱码人妻综合二区三区| 欧洲精品国产| 国产精品69久久久久| 欧美精品一区在线播放| 日韩免费在线免费观看| 成人精品一区二区三区电影黑人| 久久精品国产99国产精品澳门 | 男女视频一区二区三区| 9a蜜桃久久久久久免费| 国产精品欧美日韩| 热re99久久精品国产99热| 国产精品av网站| 久久久久久成人|