前言
隨著游戲市場(chǎng)的火爆,游戲行業(yè)逐漸向精品化、IP化、多樣化的格局邁進(jìn),這也對(duì)游戲開(kāi)發(fā)者提出了更高的要求。如何保證游戲性能穩(wěn)定,為玩家提供流暢的開(kāi)黑體驗(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:游戲客戶(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ù)的頻繁訪問(wèn)壓力。
Mysql:主要用來(lái)做數(shù)據(jù)的持久化。
1.1.2玩家數(shù)據(jù)流
玩家(client)通過(guò)http方式訪問(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ā)生在訪問(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)境。
·彈性負(fù)載均衡ELB:將訪問(wèn)流量自動(dòng)分發(fā)到多臺(tái)云服務(wù)器,擴(kuò)展應(yīng)用系統(tǒng)對(duì)外的服務(wù)能力,實(shí)現(xiàn)更高水平的應(yīng)用容錯(cuò)。
·云數(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)型,滿足高讀寫(xiě)性能場(chǎng)景及彈性變配的業(yè)務(wù)需求。
·云日志服務(wù) LTS:提供一站式日志采集、秒級(jí)搜索、海量存儲(chǔ)、結(jié)構(gòu)化處理、轉(zhuǎn)儲(chǔ)和可視化圖表等功能,滿足應(yīng)用運(yùn)維、網(wǎng)絡(luò)日志可視化分析、等保合規(guī)和運(yùn)營(yíng)分析等應(yīng)用場(chǎng)景。
·DDoS防護(hù) AAD:提供全球化服務(wù),以應(yīng)對(duì)DDoS攻擊挑戰(zhàn),可提供毫秒級(jí)攻擊響應(yīng)、多維度行為分析及機(jī)器學(xué)習(xí)、防御策略自動(dòng)調(diào)優(yōu)、精確識(shí)別各種復(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ù)?梢耘c彈性云服務(wù)器、裸金屬服務(wù)器、虛擬IP、彈性負(fù)載均衡、NAT網(wǎng)關(guān)等資源靈活地綁定及解綁,提供訪問(wèn)公網(wǎng)和被公網(wǎng)訪問(wèn)能力。擁有多種靈活的計(jì)費(fèi)方式,滿足不同業(yè)務(wù)場(chǎng)景訴求
·文檔數(shù)據(jù)庫(kù)服務(wù)DDS:文檔數(shù)據(jù)庫(kù)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)備打包推送到私有倉(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ā)、海量玩家在線,高并發(fā)訪問(wèn)擴(kuò)容不及時(shí);
網(wǎng)絡(luò)時(shí)延高,游戲卡頓、玩家掉線;
自建周期長(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)行。
計(jì)算能力卓越,同類(lèi)型ECS高于友商15%,PPS領(lǐng)先;容器快速發(fā)放,性能對(duì)比開(kāi)源高20%,BMS可5分鐘發(fā)放。
安全防御,華為云提供了單線路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)行。
簡(jiǎn)化云上運(yùn)維工作,平臺(tái)為游戲客戶(hù)提供7x24小時(shí)服務(wù),專(zhuān)項(xiàng)保障、專(zhuān)家支持,確保重大活動(dòng)業(yè)務(wù)穩(wěn)定。不僅能夠?qū)崿F(xiàn)快速部署,而且華為云云游戲管理服務(wù)平臺(tái)可對(duì)游戲內(nèi)容、游戲使用時(shí)長(zhǎng)進(jìn)行管控,所有云游戲運(yùn)營(yíng)商客戶(hù)均可快速接入華為云云游戲管理服務(wù)平臺(tái),獲得全套自動(dòng)化部署環(huán)境;還可通過(guò)游戲開(kāi)發(fā)及運(yùn)營(yíng)一體化,確保在用戶(hù)實(shí)時(shí)在線的場(chǎng)景下即可完成游戲優(yōu)化和體驗(yàn)升級(jí),讓產(chǎn)品整體交付效率提升。
資費(fèi),好用且便宜是每個(gè)公司的追求,降本增效,多種計(jì)費(fèi)模式,起步預(yù)算低,按需使用,用多少付多少,有效緩解企業(yè)初創(chuàng)資金壓力,更省錢(qián)。
總結(jié):華為云游戲云端部署解決方案,提供覆蓋全球的云基礎(chǔ)設(shè)施,支撐千萬(wàn)級(jí)玩家同時(shí)在線穩(wěn)定運(yùn)行,助力游戲企業(yè)打造精品化游戲,保障游戲彈性部署和無(wú)憂運(yùn)維。
3.2套餐購(gòu)買(mǎi)
下面是在官網(wǎng)套餐截圖,可以作為參考配置,等到正式生產(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ù)提供7x24小時(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é)
九層之臺(tái),起于壘土。華為云在游戲領(lǐng)域的發(fā)力,并非一日之計(jì)。
好的云服務(wù)廠商可以讓事情更簡(jiǎn)單、更容易,華為云值得作為首選。
華為云游戲云端部署解決方案,提供覆蓋全球的云基礎(chǔ)設(shè)施,支撐百萬(wàn)級(jí)玩家同時(shí)在線穩(wěn)定運(yùn)行,結(jié)合云上運(yùn)維運(yùn)營(yíng),助力游戲企業(yè)實(shí)現(xiàn)業(yè)務(wù)的快速上線和彈性擴(kuò)展,有效應(yīng)對(duì)游戲的突發(fā)性需求和游戲企業(yè)出海發(fā)展需求。
目前華為云618營(yíng)銷(xiāo)季正在進(jìn)行中,眾多云上優(yōu)選的產(chǎn)品及爆款解決方案誠(chéng)意滿滿,機(jī)不可失時(shí)不再來(lái),感興趣的小伙伴快去看看吧!
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請(qǐng)謹(jǐn)慎對(duì)待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。
2024年的Adobe MAX 2024發(fā)布會(huì)上,Adobe推出了最新版本的Adobe Creative Cloud。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來(lái)都要半個(gè)月了,現(xiàn)在方便多了!”打開(kāi)“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶(hù)就打進(jìn)了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準(zhǔn)的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來(lái)實(shí)質(zhì)性的幫助,雙十一期間低至2799元,性?xún)r(jià)比很高,簡(jiǎn)直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會(huì)——工業(yè)互聯(lián)網(wǎng)標(biāo)識(shí)解析專(zhuān)題論壇在沈陽(yáng)成功舉辦。