公司內(nèi)部資料!游戲上線(xiàn)前部署準(zhǔn)備,就這新手都行_環(huán)球?qū)崟r(shí)

2023-06-21 20:03:54來(lái)源:中關(guān)村在線(xiàn)  

前言

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


(相關(guān)資料圖)

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:游戲客戶(hù)端。

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

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

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

Gm:后臺(tái)管理服務(wù)器,可以做活動(dòng)的發(fā)布或者管理玩家數(shù)據(jù)。

redis: 這里主要用來(lái)做緩存,避免數(shù)據(jù)庫(kù)的頻繁訪(fǎng)問(wèn)壓力。

mysql: 主要用來(lái)做數(shù)據(jù)的持久化。

1.1.2 玩家數(shù)據(jù)流

玩家(client)通過(guò)http方式訪(fǎng)問(wèn)gate服務(wù)器,獲取game服務(wù)的ip和端口。

client通過(guò)拿到的ip和端口直連game服務(wù)器,這樣玩家就登錄進(jìn)了服務(wù)器。

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

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

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

當(dāng)發(fā)布活動(dòng)和修改玩家數(shù)據(jù)的時(shí)候使用gm,通過(guò)發(fā)布指令到game服。

1.1.3 服務(wù)間交互協(xié)議

http協(xié)議:主要發(fā)生在訪(fǎng)問(wèn)場(chǎng)景比較少的地方,client 和gate,game和Gm之間。

dubbo協(xié)議:主要使用在內(nèi)部服務(wù)器之間交互數(shù)據(jù),好處是簡(jiǎn)單直接,像操作本地方法一樣。

webscoket:主要用在client和game之間,因?yàn)檫@是一個(gè)網(wǎng)頁(yè)游戲的服務(wù)器,所以使用了websocket。

1.2 部署方式

這里使用docker的方式,原因有幾點(diǎn):

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

節(jié)約時(shí)間,方便快速部署和啟動(dòng)。

團(tuán)隊(duì)同學(xué)比較熟悉,降低犯錯(cuò)的可能性。

2、部署準(zhǔn)備

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

2.1.1 機(jī)器準(zhǔn)備

對(duì)服務(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)境。

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

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

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

彈性公網(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)等資源靈活地綁定及解綁,提供訪(fǎng)問(wèn)公網(wǎng)和被公網(wǎng)訪(fǎng)問(wèn)能力。擁有多種靈活的計(jì)費(fèi)方式,滿(mǎn)足不同業(yè)務(wù)場(chǎng)景訴求。

2.2 鏡像準(zhǔn)備

鏡像的準(zhǔn)備打包推送到私有倉(cāng)庫(kù),具體的方法可以使用一些插件,也可以使用Jenkins,或者手動(dòng)推送,無(wú)論哪種方式,這里準(zhǔn)備下可能需要用到的手動(dòng)命令。

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 部署腳本

注:上述是開(kāi)發(fā)環(huán)境,環(huán)境變量在有些是默認(rèn),在正式環(huán)境部署時(shí)候需要?jiǎng)討B(tài)調(diào)整

2.4 注意點(diǎn)

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

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

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

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

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

3、正式部署

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

游戲的痛點(diǎn):

新游首發(fā)、海量玩家在線(xiàn),高并發(fā)訪(fǎng)問(wèn)擴(kuò)容不及時(shí);

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

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

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

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

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

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

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

3.2 服務(wù)器購(gòu)買(mǎi)

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

注:點(diǎn)擊可看大圖

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

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

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

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

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

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

極簡(jiǎn)運(yùn)維:云上運(yùn)維工作,平臺(tái)為游戲客戶(hù)提供7*24小時(shí)服務(wù),專(zhuān)項(xiàng)保障、專(zhuān)家支持,確保重大活動(dòng)業(yè)務(wù)穩(wěn)定。

高數(shù)據(jù)可靠性:ECS服務(wù)通過(guò)商業(yè)和技術(shù)上的合理努力,承諾單實(shí)例維度每服務(wù)周期服務(wù)可用率不低于99.975%;單區(qū)域多可用區(qū)維度每服務(wù)周期服務(wù)可用率不低于99.995%;基于分布式架構(gòu)的、可彈性擴(kuò)展的虛擬塊存儲(chǔ)服務(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用戶(hù),執(zhí)行下面的命令,安裝docker環(huán)境

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

文件列表如下:

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

拷貝配置文件到機(jī)器,將所有的excel配置文件拷貝到機(jī)器,并在啟動(dòng)腳本中配置掛載

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

3.4.3 腳本執(zhí)行

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

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

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

驗(yàn)證點(diǎn):

可以正常登錄

可以匹配戰(zhàn)斗

http接口正常

服務(wù)器操作正常

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

驗(yàn)證以上邏輯后通知測(cè)試同學(xué)進(jìn)行功能測(cè)試。

3.4.5 開(kāi)服

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

4、總結(jié)

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

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

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

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

標(biāo)簽:

相關(guān)閱讀

精彩推薦

相關(guān)詞

推薦閱讀