前言
隨著云計(jì)算、AI 等新一代信息技術(shù)的高速發(fā)展,走在數(shù)字化、智能化前端的游戲行業(yè)正逐漸向精品化、IP 化、多樣化的格局邁進(jìn),這也對游戲開發(fā)者提出了更高的要求。如何保證游戲性能穩(wěn)定,為玩家提供流暢的開黑體驗(yàn)?今天準(zhǔn)備嘗試用下華為云的服務(wù),沉浸式感受游戲云端部署解決方案的強(qiáng)大。
1、游戲架構(gòu)介紹
1.1 服務(wù)器架構(gòu)
不同的公司有不同的游戲服務(wù)器架構(gòu),所以部署的具體細(xì)節(jié)大多不相同,但是基本的部署準(zhǔn)備還是一樣的,先看下我們的游戲架構(gòu),方便讀者朋友了解后續(xù)的準(zhǔn)備工作。
1.1.1 服務(wù)器角色具體介紹
Client:游戲客戶端。
Gate:網(wǎng)關(guān)服,這里不承載游戲的鏈接,僅僅做游戲服務(wù)器的地址發(fā)放,玩家從 gate 服獲取正式游戲服的 ip 和端口。
Game:玩家主要在的游戲服務(wù)器只有一個(gè)。
Room:房間服,玩家匹配進(jìn)入戰(zhàn)斗后將進(jìn)入戰(zhàn)斗服,如果戰(zhàn)斗多可以做動態(tài)擴(kuò)展。
Gm:后臺管理服務(wù)器,可以做活動的發(fā)布或者管理玩家數(shù)據(jù)。
Redis:主要用來做緩存,避免數(shù)據(jù)庫的頻繁訪問壓力。
Mysql:主要用來做數(shù)據(jù)的持久化。
1.1.2 玩家數(shù)據(jù)流
玩家(client)通過 http 方式訪問 gate 服務(wù)器,獲取 game 服務(wù)的 ip 和端口。
client 通過拿到的 ip 和端口直連 game 服務(wù)器,這樣玩家就登錄進(jìn)了服務(wù)器。
當(dāng)玩家操作角色進(jìn)行匹配戰(zhàn)斗的時(shí)候,匹配成功后會將需要的數(shù)據(jù)傳入 room 服務(wù)器,所有的戰(zhàn)斗指令也會被傳入 room 服務(wù)。
當(dāng)玩家需要查詢數(shù)據(jù)時(shí),比如想獲得背包,game 服會先像 redis 查詢,如果數(shù)據(jù)不存在,則像 mysql 查詢,查詢到數(shù)據(jù)后會存入緩存。
當(dāng)玩家角色數(shù)據(jù)發(fā)生變化時(shí),比如獲得了新的道具,這個(gè)時(shí)候需要操作數(shù)據(jù)庫,game 服務(wù)器會先更新數(shù)據(jù)庫然后更新緩存。
當(dāng)發(fā)布活動和修改玩家數(shù)據(jù)的時(shí)候使用 gm,通過發(fā)布指令到 game 服。
1.1.3 服務(wù)間交互協(xié)議
http 協(xié)議:主要發(fā)生在訪問場景比較少的地方,client 和 gate,game 和 Gm 之間。
dubbo 協(xié)議:主要使用在內(nèi)部服務(wù)器之間交互數(shù)據(jù),簡單直接,像操作本地方法一樣。
Webscoket:主要用在 client 和 game 之間,因?yàn)檫@是一個(gè)網(wǎng)頁游戲的服務(wù)器,所以使用了 websocket。
1.2 部署方式
這里使用 docker 的方式,原因有幾點(diǎn):
標(biāo)準(zhǔn)化應(yīng)用發(fā)布,避免環(huán)境帶來的問題。
節(jié)約時(shí)間,方便快速部署和啟動。
團(tuán)隊(duì)同學(xué)比較熟悉,降低犯錯(cuò)的可能性。
2、部署準(zhǔn)備
2.1 環(huán)境準(zhǔn)備
2.1.1 機(jī)器準(zhǔn)備
對服務(wù)器的配置做了一個(gè)表統(tǒng)計(jì),準(zhǔn)備好服務(wù)器就好,下表是參考華為云官網(wǎng)。
注:具體價(jià)格實(shí)際以官網(wǎng)價(jià)為準(zhǔn)
2.1.2 解決方案構(gòu)成
·彈性云服務(wù)器 ECS:是一種云上可隨時(shí)自助獲取、可彈性伸縮的計(jì)算服務(wù),幫助打造安全、可靠、靈活、高效的應(yīng)用環(huán)境。?
·彈性負(fù)載均衡 ELB:將訪問流量自動分發(fā)到多臺云服務(wù)器,擴(kuò)展應(yīng)用系統(tǒng)對外的服務(wù)能力,實(shí)現(xiàn)更高水平的應(yīng)用容錯(cuò)。
·云數(shù)據(jù)庫 RDS for MySQL:擁有即開即用、穩(wěn)定可靠、安全運(yùn)行、彈性伸縮、輕松管理、經(jīng)濟(jì)實(shí)用等特點(diǎn),讓客戶更加專注業(yè)務(wù)發(fā)展。
·分布式緩存服務(wù) Redis 版:業(yè)界首個(gè)支持 Arm 和 x86 雙架構(gòu)的 Redis 云服務(wù),支持雙機(jī)熱備的 HA 架構(gòu),提供單機(jī)、主備、Proxy 集群、Cluster 集群、讀寫分離實(shí)例類型,滿足高讀寫性能場景及彈性變配的業(yè)務(wù)需求。
·云日志服務(wù) LTS:提供一站式日志采集、秒級搜索、海量存儲、結(jié)構(gòu)化處理、轉(zhuǎn)儲和可視化圖表等功能,滿足應(yīng)用運(yùn)維、網(wǎng)絡(luò)日志可視化分析、等保合規(guī)和運(yùn)營分析等應(yīng)用場景。
·DDoS 防護(hù) AAD:提供全球化服務(wù),以應(yīng)對 DDoS 攻擊挑戰(zhàn),可提供毫秒級攻擊響應(yīng)、多維度行為分析及機(jī)器學(xué)習(xí)、防御策略自動調(diào)優(yōu)、精確識別各種復(fù)雜 DDoS 攻擊,以保護(hù)您的業(yè)務(wù)連續(xù)性。
·彈性公網(wǎng) IP EIP:彈性公網(wǎng) IP(Elastic IP)提供獨(dú)立的公網(wǎng) IP 資源,包括公網(wǎng) IP 地址與公網(wǎng)出口帶寬服務(wù)。可以與彈性云服務(wù)器、裸金屬服務(wù)器、虛擬 IP、彈性負(fù)載均衡、NAT 網(wǎng)關(guān)等資源靈活地綁定及解綁,提供訪問公網(wǎng)和被公網(wǎng)訪問能力。擁有多種靈活的計(jì)費(fèi)方式,滿足不同業(yè)務(wù)場景訴求
·文檔數(shù)據(jù)庫服務(wù) DDS:文檔數(shù)據(jù)庫 DDS 兼容 MongoDB 協(xié)議,在華為云高性能、高可用、高安全、可彈性伸縮的基礎(chǔ)上,提供了一鍵部署,彈性擴(kuò)容,容災(zāi),備份,恢復(fù),監(jiān)控等服務(wù)能力。目前支持分片集群(Sharding)、副本集(ReplicaSet)和單節(jié)點(diǎn)(Single)三種部署架構(gòu)。
2.2 鏡像準(zhǔn)備
鏡像的準(zhǔn)備打包推送到私有倉庫,具體的方法可以使用一些插件,也可以使用 Jenkins,或者手動推送,無論哪種方式,這里準(zhǔn)備下可能需要用到的手動命令。
2.2.1 安裝 docker 服務(wù)
2.2.2 打包鏡像
將 jar 包拷貝到和 dockerfile 相同目錄下,執(zhí)行下面命令,打包鏡像。
2.2.3 將鏡像打包為本地文件
鏡像導(dǎo)出為壓縮包,方便傳輸。
2.2.4 解包鏡像
登錄到服務(wù)器之后,將上面的文件拷貝到本機(jī),使用下面的命令將鏡像導(dǎo)入到當(dāng)前機(jī)器;
2.3 部署腳本
注:上述是開發(fā)環(huán)境,環(huán)境變量有些是默認(rèn),在正式環(huán)境部署時(shí)候需要動態(tài)調(diào)整。
2.4 注意點(diǎn)
gate 服務(wù)器需要開通公網(wǎng) ip。
excel 配置文件要提前規(guī)劃,在 docker 腳本中掛載。
docker 掛載的數(shù)據(jù)目錄和日志目錄需要提前規(guī)劃。
每個(gè)服務(wù)器內(nèi)部的端口映射要提前規(guī)劃。
環(huán)境變量需要在腳本中修改,包括 mysql 和 redis 數(shù)據(jù)庫地址,需要鏈接的服務(wù)器 ip 和端口,以及相關(guān)的服務(wù)器配置等。
3、正式部署
3.1 環(huán)境調(diào)研
游戲痛點(diǎn):
新游首發(fā)、海量玩家在線,高并發(fā)訪問擴(kuò)容不及時(shí);
網(wǎng)絡(luò)時(shí)延高,游戲卡頓、玩家掉線;
自建周期長成本高,無法彈性伸縮。
大多游戲服務(wù)器屬于計(jì)算密集型的,所以游戲服務(wù)器云廠商選擇核心點(diǎn)有以下幾條:
資源擴(kuò)容能力,能及時(shí)擴(kuò)容,根據(jù)需求靈活購買資源,實(shí)現(xiàn)動態(tài)擴(kuò)展、成本優(yōu)化,支持游戲開服、擴(kuò)服、并服等場景的業(yè)務(wù)運(yùn)行。
計(jì)算能力卓越,同類型 ECS 高于友商 15%,PPS 領(lǐng)先;容器快速發(fā)放,性能對比開源高 20%,BMS 可 5 分鐘發(fā)放。
安全防御,華為云提供了單線路 T 級 DDoS 高防 IP 服務(wù)以及百萬 QPS 級 CC 防護(hù),基于黑客攻擊機(jī)器學(xué)習(xí)、業(yè)務(wù)風(fēng)控大數(shù)據(jù)智能隔離等 AI 能力,保障中手游游戲長期安全運(yùn)行。
簡化云上運(yùn)維工作,平臺為游戲客戶提供 7x24 小時(shí)服務(wù),專項(xiàng)保障、專家支持,確保重大活動業(yè)務(wù)穩(wěn)定。不僅能夠?qū)崿F(xiàn)快速部署,而且華為云云游戲管理服務(wù)平臺可對游戲內(nèi)容、游戲使用時(shí)長進(jìn)行管控,所有云游戲運(yùn)營商客戶均可快速接入華為云云游戲管理服務(wù)平臺,獲得全套自動化部署環(huán)境;還可通過游戲開發(fā)及運(yùn)營一體化,確保在用戶實(shí)時(shí)在線的場景下即可完成游戲優(yōu)化和體驗(yàn)升級,讓產(chǎn)品整體交付效率提升。
資費(fèi),好用且便宜是每個(gè)公司的追求,降本增效,多種計(jì)費(fèi)模式,起步預(yù)算低,按需使用,用多少付多少,有效緩解企業(yè)初創(chuàng)資金壓力,更省錢。
總結(jié):華為云游戲云端部署解決方案,提供覆蓋全球的云基礎(chǔ)設(shè)施,支撐千萬級玩家同時(shí)在線穩(wěn)定運(yùn)行,助力游戲企業(yè)打造精品化游戲,保障游戲彈性部署和無憂運(yùn)維。
3.2 套餐購買
下面是在官網(wǎng)套餐截圖,可以作為參考配置,等到正式生產(chǎn)環(huán)境的時(shí)候根據(jù)資源動態(tài)配置。
注:點(diǎn)擊可看大圖
3.3 華為云核心優(yōu)勢匯總
數(shù)據(jù)庫能力:高并發(fā)場景,性能穩(wěn)定性優(yōu)于友商 Mysql 主備切換效率優(yōu)于友商。
海外區(qū)域亞太覆蓋:華為網(wǎng)絡(luò)質(zhì)量(時(shí)延和丟包)總體優(yōu)于友商(除日韓、越南、臺灣)。
計(jì)算能力:ECS——同類型 ECS 高于友商 15%,PPS 領(lǐng)先;容器——快速發(fā)放,性能對比開源高 20%。
網(wǎng)絡(luò)能力:內(nèi)網(wǎng)帶寬轉(zhuǎn)發(fā)效率最高,ELB 億級并發(fā)。
安全防護(hù):華為云打造租戶隔離的安全平臺,并提供完善的安全服務(wù)保障業(yè)務(wù)和數(shù)據(jù)安全,為您的游戲保駕護(hù)航。
極簡運(yùn)維:云上運(yùn)維工作,平臺為游戲客戶提供 7x24 小時(shí)服務(wù),專項(xiàng)保障、專家支持,確保重大活動業(yè)務(wù)穩(wěn)定。
高數(shù)據(jù)可靠性:ECS 服務(wù)通過商業(yè)和技術(shù)上的合理努力,承諾單實(shí)例維度每服務(wù)周期服務(wù)可用率不低于 99.975%;單區(qū)域多可用區(qū)維度每服務(wù)周期服務(wù)可用率不低于 99.995%;基于分布式架構(gòu)的、可彈性擴(kuò)展的虛擬塊存儲服務(wù),具有高數(shù)據(jù)可靠性,高 I/O 吞吐能力,能夠保證任何一個(gè)副本故障時(shí)快速進(jìn)行數(shù)據(jù)遷移恢復(fù),避免單一硬件故障造成數(shù)據(jù)丟失。
3.4 機(jī)器環(huán)境準(zhǔn)備
3.4.1 安裝 docker
遠(yuǎn)程登錄到機(jī)器之后,切換到 root 用戶,執(zhí)行下面的命令,安裝 docker 環(huán)境
3.4.2 拷貝文件到目標(biāo)機(jī)器
文件列表如下:
鏡像文件,根據(jù) 2.2 中相關(guān)命令,拷貝到本地,如果用私有倉庫,則不需要執(zhí)行此步驟。
拷貝配置文件到機(jī)器,將所有的 excel 配置文件拷貝到機(jī)器,并在啟動腳本中配置掛載
啟動腳本,在規(guī)劃的目錄下創(chuàng)建并修改啟動腳本,設(shè)置相應(yīng)的參數(shù)。
3.4.3 腳本執(zhí)行
在所有的文件都準(zhǔn)備好之后,切換到腳本所在目錄,可以直接啟動腳本,下面以 game 為例
3.4.4 驗(yàn)證服務(wù)器正常
首先查看所有服務(wù)器的日志是否有報(bào)錯(cuò)異常,然后使用特殊賬號進(jìn)行登錄,驗(yàn)證服務(wù)器功能正常
驗(yàn)證點(diǎn):
可以正常登錄
可以匹配戰(zhàn)斗
http 接口正常
服務(wù)器操作正常
主要業(yè)務(wù)邏輯正常
驗(yàn)證以上邏輯后通知測試同學(xué)進(jìn)行功能測試。
3.4.5 開服
待測試同學(xué)測試通過后,通過 gm 設(shè)置服務(wù)器狀態(tài)為開服狀態(tài),部署流程結(jié)束。
4、總結(jié)
九層之臺,起于壘土。華為云在游戲領(lǐng)域的發(fā)力,并非一日之計(jì)。
好的云服務(wù)廠商可以讓事情更簡單、更容易,華為云值得作為首選。
華為云游戲云端部署解決方案,提供覆蓋全球的云基礎(chǔ)設(shè)施,支撐百萬級玩家同時(shí)在線穩(wěn)定運(yùn)行,結(jié)合云上運(yùn)維運(yùn)營,助力游戲企業(yè)實(shí)現(xiàn)業(yè)務(wù)的快速上線和彈性擴(kuò)展,有效應(yīng)對游戲的突發(fā)性需求和游戲企業(yè)出海發(fā)展需求。
為了讓更多游戲行業(yè)企業(yè)輕松上云,實(shí)現(xiàn)智能化升級,目前華為云 618 營銷季正在進(jìn)行中,尤其對游戲行業(yè)企業(yè),華為云推出了眾多云上優(yōu)選的產(chǎn)品及爆款解決方案,機(jī)不可失時(shí)不再來,感興趣的小伙伴快去看看吧!
審核編輯 黃宇
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85322 -
華為云
+關(guān)注
關(guān)注
3文章
2445瀏覽量
17406
發(fā)布評論請先 登錄
相關(guān)推薦
評論