手機版 | 網(wǎng)站導(dǎo)航
觀察家網(wǎng) > 消費 >

公司內(nèi)部資料!游戲上線前部署準(zhǔn)備,就這新手都行 世界觀速訊

中關(guān)村在線 | 2023-06-21 18:40:52

前言

游戲做的差不多了,是時候準(zhǔn)備上線測試部署了,選一個靠譜的云服務(wù)器廠商還是很重要,這次準(zhǔn)備嘗試用下華為云的服務(wù),為了在上線前做足準(zhǔn)備,先做一次預(yù)演,省得到時候手忙腳亂,也給其他的同事做一個文檔記錄。


【資料圖】

1、游戲架構(gòu)介紹

1.1 服務(wù)器架構(gòu)

不同的公司有不同的游戲服務(wù)器架構(gòu),所以部署的具體細節(jié)大多不相同,但是基本的部署準(zhǔn)備還是一樣的,先看下我們的游戲架構(gòu),方便讀者朋友了解后續(xù)的準(zhǔn)備工作。

1.1.1 服務(wù)器角色具體介紹下

client:游戲客戶端。

gate:網(wǎng)關(guān)服,這里不承載游戲的鏈接,僅僅做游戲服務(wù)器的地址發(fā)放,玩家從gate服獲取正式游戲服的ip和端口。

game:玩家主要在的游戲服務(wù)器,只有一個。

room:房間服,玩家匹配進入戰(zhàn)斗后將進入戰(zhàn)斗服,如果戰(zhàn)斗多可以做動態(tài)擴展。

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ù)器,這樣玩家就登錄進了服務(wù)器。

當(dāng)玩家操作角色進行匹配戰(zhàn)斗的時候,匹配成功后會將需要的數(shù)據(jù)傳入room服務(wù)器,所有的戰(zhàn)斗指令也會被傳入room服務(wù)。

當(dāng)玩家需要查詢數(shù)據(jù)時,比如想獲得背包,game服會先像redis查詢,如果數(shù)據(jù)不存在,則像mysql查詢,查詢到數(shù)據(jù)后會存入緩存。

當(dāng)玩家角色數(shù)據(jù)發(fā)生變化時,比如獲得了新的道具,這個時候需要操作數(shù)據(jù)庫,game服務(wù)器會先更新數(shù)據(jù)庫然后更新緩存。

當(dāng)發(fā)布活動和修改玩家數(shù)據(jù)的時候使用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之間,因為這是一個網(wǎng)頁游戲的服務(wù)器,所以使用了websocket。

1.2 部署方式

這里使用docker的方式,原因有幾點:

標(biāo)準(zhǔn)化應(yīng)用發(fā)布,避免環(huán)境帶來的問題。

節(jié)約時間,方便快速部署和啟動。

團隊同學(xué)比較熟悉,降低犯錯的可能性。

2、部署準(zhǔn)備

2.1 環(huán)境準(zhǔn)備

2.1.1 機器準(zhǔn)備

對服務(wù)器的配置做了一個表統(tǒng)計,準(zhǔn)備好服務(wù)器就好,下表是參考華為云官網(wǎng)。

注:具體價格實際以官網(wǎng)價為準(zhǔn)

2.1.2 解決方案構(gòu)成

彈性云服務(wù)器ECS:是一種云上可隨時自助獲取、可彈性伸縮的計算服務(wù),幫助打造安全、可靠、靈活、高效的應(yīng)用環(huán)境。

云數(shù)據(jù)庫 RDS for MySQL:擁有即開即用、穩(wěn)定可靠、安全運行、彈性伸縮、輕松管理、經(jīng)濟實用等特點,讓客戶更加專注業(yè)務(wù)發(fā)展。

分布式緩存服務(wù)Redis版:業(yè)界首個支持Arm和x86雙架構(gòu)的Redis云服務(wù),支持雙機熱備的HA架構(gòu),提供單機、主備、Proxy集群、Cluster集群、讀寫分離實例類型,滿足高讀寫性能場景及彈性變配的業(yè)務(wù)需求。

云日志服務(wù) LTS:提供一站式日志采集、秒級搜索、海量存儲、結(jié)構(gòu)化處理、轉(zhuǎn)儲和可視化圖表等功能,滿足應(yīng)用運維、網(wǎng)絡(luò)日志可視化分析、等保合規(guī)和運營分析等應(yīng)用場景。

彈性公網(wǎng)IP EIP:彈性公網(wǎng)IP(Elastic IP)提供獨立的公網(wǎng)IP資源,包括公網(wǎng)IP地址與公網(wǎng)出口帶寬服務(wù)??梢耘c彈性云服務(wù)器、裸金屬服務(wù)器、虛擬IP、彈性負載均衡、NAT網(wǎng)關(guān)等資源靈活地綁定及解綁,提供訪問公網(wǎng)和被公網(wǎng)訪問能力。擁有多種靈活的計費方式,滿足不同業(yè)務(wù)場景訴求。

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ù)器之后,將上面的文件拷貝到本機,使用下面的命令將鏡像導(dǎo)入到當(dāng)前機器:

2.3 部署腳本

注:上述是開發(fā)環(huán)境,環(huán)境變量在有些是默認,在正式環(huán)境部署時候需要動態(tài)調(diào)整

2.4 注意點

gate服務(wù)器需要開通公網(wǎng)ip。

excel配置文件要提前規(guī)劃,在docker腳本中掛載

docker 掛載的數(shù)據(jù)目錄和日志目錄需要提前規(guī)劃。

每個服務(wù)器內(nèi)部的端口映射要提前規(guī)劃

環(huán)境變量需要在腳本中修改,包括mysql 和redis 數(shù)據(jù)庫地址,需要鏈接的服務(wù)器ip和端口,以及相關(guān)的服務(wù)器配置等。

3、正式部署

3.1 環(huán)境調(diào)研

游戲的痛點:

新游首發(fā)、海量玩家在線,高并發(fā)訪問擴容不及時;

網(wǎng)絡(luò)時延高,游戲卡頓、玩家掉線;自建周期長成本高,無法彈性伸縮。

大多游戲服務(wù)器屬于計算密集型的,所以游戲服務(wù)器云廠商選擇核心點有以下幾條:

資源擴容能力,能及時擴容,根據(jù)需求靈活購買資源,實現(xiàn)動態(tài)擴展、成本優(yōu)化,支持游戲開服、擴服、并服等場景的業(yè)務(wù)運行。

穩(wěn)定的帶寬,華為云內(nèi)網(wǎng)帶寬轉(zhuǎn)發(fā)效率高,ELB億級并發(fā),動態(tài)自動優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)持續(xù)、穩(wěn)定、高效、低時延。

安全防御,華為云提供了單線路T級DDoS高防IP服務(wù)以及百萬QPS級CC防護,基于黑客攻擊機器學(xué)習(xí)、業(yè)務(wù)風(fēng)控大數(shù)據(jù)智能隔離等AI能力,保障中手游游戲長期安全運行。

資費,好用且便宜是每個公司的追求,降本增效,多種計費模式,起步預(yù)算低,按需使用,用多少付多少,有效緩解企業(yè)初創(chuàng)資金壓力,更省錢。

總結(jié):華為云游戲云端部署解決方案,提供覆蓋全球的云基礎(chǔ)設(shè)施,支撐千萬級玩家同時在線穩(wěn)定運行,助力游戲企業(yè)打造精品化游戲,保障游戲彈性部署和無憂運維。

3.2 服務(wù)器購買

下面是在購買的時候一些服務(wù)器截圖,可以作為參考配置,等到正式生產(chǎn)環(huán)境的時候根據(jù)資源動態(tài)配置。

注:點擊可看大圖

3.3 華為云核心優(yōu)勢匯總

數(shù)據(jù)庫能力:高并發(fā)場景,性能穩(wěn)定性優(yōu)于友商Mysql主備切換效率優(yōu)于友商。

海外區(qū)域亞太覆蓋:華為網(wǎng)絡(luò)質(zhì)量(時延和丟包)總體優(yōu)于友商。(除日韓、越南、臺灣)。

計算能力:ECS—同類型ECS高于友商15%,PPS領(lǐng)先,容器—快速發(fā)放,性能對比開源高20%。

網(wǎng)絡(luò)能力:內(nèi)網(wǎng)帶寬轉(zhuǎn)發(fā)效率最高。ELB億級并發(fā)。

安全防護:華為云打造租戶隔離的安全平臺,并提供完善的安全服務(wù)保障業(yè)務(wù)和數(shù)據(jù)安全,為您的游戲保駕護航。

極簡運維:云上運維工作,平臺為游戲客戶提供7*24小時服務(wù),專項保障、專家支持,確保重大活動業(yè)務(wù)穩(wěn)定。

高數(shù)據(jù)可靠性:ECS服務(wù)通過商業(yè)和技術(shù)上的合理努力,承諾單實例維度每服務(wù)周期服務(wù)可用率不低于99.975%;單區(qū)域多可用區(qū)維度每服務(wù)周期服務(wù)可用率不低于99.995%;基于分布式架構(gòu)的、可彈性擴展的虛擬塊存儲服務(wù),具有高數(shù)據(jù)可靠性,高I/O吞吐能力,能夠保證任何一個副本故障時快速進行數(shù)據(jù)遷移恢復(fù),避免單一硬件故障造成數(shù)據(jù)丟失

3.4 機器環(huán)境準(zhǔn)備

3.4.1 安裝docker

遠程登錄到機器之后,切換到root用戶,執(zhí)行下面的命令,安裝docker環(huán)境

3.4.2 拷貝文件到目標(biāo)機器

文件列表如下:

鏡像文件,根據(jù)2.2 中相關(guān)命令,拷貝到本地,如果用私有倉庫,則不需要執(zhí)行此步驟。

拷貝配置文件到機器,將所有的excel配置文件拷貝到機器,并在啟動腳本中配置掛載

啟動腳本,在規(guī)劃的目錄下創(chuàng)建并修改啟動腳本,設(shè)置相應(yīng)的參數(shù)。

3.4.3 腳本執(zhí)行

在所有的文件都準(zhǔn)備好之后,切換到腳本所在目錄,可以直接啟動腳本,下面以game為例

3.4.4 驗證服務(wù)器正常

首先查看所有服務(wù)器的日志是否有報錯異常,然后使用特殊賬號進行登錄,驗證服務(wù)器功能正常

驗證點:

可以正常登錄

可以匹配戰(zhàn)斗

http接口正常

服務(wù)器操作正常

主要業(yè)務(wù)邏輯正常。

驗證以上邏輯后通知測試同學(xué)進行功能測試。

3.4.5 開服

待測試同學(xué)測試通過后,通過gm設(shè)置服務(wù)器狀態(tài)為開服狀態(tài),部署流程結(jié)束。

4、總結(jié)

不打無準(zhǔn)備之仗,方能立于不敗之地,臨門一腳,提前準(zhǔn)備,考慮周全。

九層之臺,起于壘土,好的云服務(wù)廠商可以讓事情更簡單,更容易,華為云值得作為首選。

華為云游戲云端部署解決方案,提供覆蓋全球的云基礎(chǔ)設(shè)施,支撐百萬級玩家同時在線穩(wěn)定運行,結(jié)合云上運維運營,助力游戲企業(yè)實現(xiàn)業(yè)務(wù)的快速上線和彈性擴展,有效應(yīng)對游戲的突發(fā)性需求和游戲企業(yè)出海發(fā)展需求。

目前華為云618營銷季正在進行中,眾多爆款解決方案驚喜滿滿,即日起至6月30日,登錄華為云官網(wǎng)可享10000元專屬禮包,更有大額免單券、儲值滿減等福利玩法,全方位助力中小企業(yè)高效上云。機不可失時不再來,感興趣的小伙伴快去看看吧!

標(biāo)簽:

  • 標(biāo)簽:中國觀察家網(wǎng),商業(yè)門戶網(wǎng)站,新聞,專題,財經(jīng),新媒體,焦點,排行,教育,熱點,行業(yè),消費,互聯(lián)網(wǎng),科技,國際,文化,時事,社會,國內(nèi),健康,產(chǎn)業(yè)資訊,房產(chǎn),體育。

相關(guān)推薦