游戲廠商們也在嘗試采用一地部署多地覆蓋、全球逐步宣發(fā)的模式進行第一款全球服游戲的發(fā)行試點及成本控制。文章主要針對全球服和出海游戲的特性優(yōu)勢、架構(gòu)布局、網(wǎng)絡(luò)規(guī)劃、實用技術(shù)等幾個方面進行探討。
為武都等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及武都網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、武都網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!本文主要觀點:
(1) 微服務(wù)是主流,模塊化架構(gòu)易于擴容以及維護,微服務(wù)+自動化的業(yè)務(wù)架構(gòu)對于全球服游戲來說幾乎是必然的選擇;
(2) 架構(gòu)高度自動化,自動注冊/剔除保證可用性;
(3) 幀同步+UDP特性,高性能傳輸和帶寬成本控制(對戰(zhàn)類游戲要求較為突出);
(4) 核心架構(gòu)集中部署為主,全球網(wǎng)絡(luò)優(yōu)化覆蓋玩家;
(5) 游戲代碼的關(guān)鍵幀及預判設(shè)計關(guān)系到游戲?qū)W(wǎng)絡(luò)延遲的兼容性。
為什么要微服務(wù)和自動化?
原因一:全球服游戲多為邏輯服或無區(qū)服概念的通服、對戰(zhàn)類游戲。為了保證游戲性和全球化的特點,保證匹配和游戲世界玩家的多元化,傳統(tǒng)意義上的區(qū)服架構(gòu)和跨服對戰(zhàn)模式并不適配,以皇室戰(zhàn)爭、列王紛爭等為例的一眾匹配對戰(zhàn)游戲便是其中的代表。
原因二:全球服游戲要求承載全球玩家的涌入,及時發(fā)現(xiàn)負載瓶頸并擴容是一個必然的要求,模塊化拆分架構(gòu)之后可以靈活的針對不同活動、玩家特性增加對應(yīng)的業(yè)務(wù)服務(wù)器,并通過自動注冊機制實現(xiàn)快速擴容。
整個架構(gòu)采用注冊管理+自動化之后,可以通過研發(fā)腳本或者通行的管理工具,甚至Docker的K8S來實現(xiàn)業(yè)務(wù)宕機的自動恢復和容災、負載突發(fā)的自動擴容,這可以極大的降低運維成本,并對于業(yè)務(wù)健壯性進行極大的提升。
對于游戲服務(wù)的自動注冊機制,在項目早期,受限于研發(fā)實力或者工期,開發(fā)者一般會選擇ZooKeeper進行管理維護,但是在實際運行中由于ZooKeeper自身較重的功能實現(xiàn)、二次開發(fā)及bug處理的復雜度,很多用戶會將其替換為自主研發(fā)實現(xiàn)的輕量級RPC自動注冊服務(wù)。實際情況要具體視研發(fā)能力而定,此外GRPC也有不少的支持者。
幀同步技術(shù)和UDP傳輸協(xié)議的使用
關(guān)于幀同步主要針對對戰(zhàn)類游戲,對于RPG世界或者卡牌類游戲也有一定參考意義,用戶使用幀同步主要在于三點:1、全球同步效率;2、服務(wù)端壓力緩解;3、全球化大流量的成本控制。
以往有過這樣的情況,用戶在全球服游戲逐步宣發(fā)、對應(yīng)國家客戶端上線的過程中,遇到跨國專線成本問題無法承擔的問題,最終無奈選擇降級服務(wù)采用特殊優(yōu)化過的外網(wǎng)出口覆蓋的案例。
而選擇使用UDP傳輸而非TCP傳輸主要考慮到對戰(zhàn)要求的實時性,TCP自身的重傳邏輯已經(jīng)無法滿足全球化(對戰(zhàn))游戲的網(wǎng)絡(luò)保障要求,通過自主實現(xiàn)UDP重傳,甚至是報文同時重復發(fā)送的邏輯,來保證游戲數(shù)據(jù)包最終的抵達成功率。
關(guān)于最核心的全球服模式上,我的總結(jié)是:先集中再分布。
以當前大部分游戲的框架,如卡牌對戰(zhàn)、RPG世界等完全可以通過集中部署+網(wǎng)絡(luò)調(diào)優(yōu)的方式實現(xiàn),當前全球雙向延遲一般在300ms以內(nèi),而一般人的反應(yīng)時間一般在300ms左右,故網(wǎng)絡(luò)延遲對于玩家的感知非常微小,大部分游戲都可以集中部署并且不犧牲玩家游戲體驗。同時集中部署的另一個優(yōu)勢是對于架構(gòu)復雜度的降低,維護便捷度的提升,對于成本控制及玩家數(shù)據(jù)統(tǒng)計也會方便很多。
圖一:集中部署全球服架構(gòu)
什么情況下考慮“再分布”呢?首先,游戲是房間類的對戰(zhàn)游戲,其次游戲?qū)τ诰W(wǎng)絡(luò)延遲極敏感(FPS類),最后重要的點是,游戲架構(gòu)采取的是對戰(zhàn)前緩存預熱數(shù)據(jù)、對戰(zhàn)結(jié)束后寫入的異步模式。
圖二:分布式部署全球服架構(gòu)
下圖為對戰(zhàn)游戲的基礎(chǔ)架構(gòu),通過該部署模式要點為:
(1)平臺操作仍然集中化部署玩家統(tǒng)一訪問,如日常操作、裝備購買等延遲不敏感操作;(2)對戰(zhàn)房間分布于全球各個數(shù)據(jù)中心,而當玩家需要對戰(zhàn)、進行匹配分房時,通過算法調(diào)度到相對大多數(shù)用戶最近的節(jié)點;
(3)節(jié)點提前預取相關(guān)用戶數(shù)據(jù),對戰(zhàn)產(chǎn)生的全部數(shù)據(jù)統(tǒng)計由本地進行交互處理,并在對戰(zhàn)結(jié)束后集中上傳至中心數(shù)據(jù)節(jié)點。
圖三:對戰(zhàn)游戲基礎(chǔ)架構(gòu)
該方案在對戰(zhàn)網(wǎng)絡(luò)延遲和數(shù)據(jù)一致性上進行了保證,但是相對架構(gòu)會更為復雜,實際落地過程中需要較好的配合和較深的維護經(jīng)驗。
那么,當前的分布式數(shù)據(jù)庫解決方案是否能夠解決全球服數(shù)據(jù)一致性的問題?實際上,為了保證數(shù)據(jù)一致性,這里以TiDB為例,暫不支持超過30ms的集群內(nèi)部延遲。而且即使強行部署,集群內(nèi)部的高延遲會嚴重影響QPS性能。在當前的技術(shù)環(huán)境下,全球分布式數(shù)據(jù)庫最好的代表者應(yīng)該是區(qū)塊鏈技術(shù),不過性能是絕對無法滿足大部分游戲使用的,即使是僅有21個核心節(jié)點的EOS,其極限QPS也遠遜于普通配置的集中數(shù)據(jù)庫。
游戲設(shè)計和網(wǎng)絡(luò)延遲的關(guān)系
游戲設(shè)計初期必然要對當前全球網(wǎng)絡(luò)環(huán)境有一個初步了解,這點之前也有提到,基本上當前物理鏈路的雙向延遲為300ms內(nèi),但是考慮到無線信號不穩(wěn)定、傳統(tǒng)3G網(wǎng)絡(luò)性能等原因,極端情況可能達500-1000ms甚至更高的情況,游戲必須為此進行一定取舍,早期幀同步游戲會因為網(wǎng)絡(luò)最差的玩家造成整個戰(zhàn)局的卡頓,而隨著技術(shù)的發(fā)展,樂觀鎖已經(jīng)通過舍棄低網(wǎng)絡(luò)質(zhì)量玩家的部分數(shù)據(jù)包來保證全球的游戲體驗。
圖四:簡單全球網(wǎng)絡(luò)數(shù)據(jù)
這邊先不說延遲本身,聊下限制網(wǎng)絡(luò)延遲的客觀因素和數(shù)據(jù):地球周長是40076千米 (赤道),光速恒定299792458米/秒(真空),而網(wǎng)絡(luò)當前主要是光纖傳輸,在物理速度和傳輸介質(zhì)沒有突破性進展的情況下繞地球一周需要近150ms,而實際網(wǎng)絡(luò)光纜不一定完全直線,中間設(shè)備轉(zhuǎn)發(fā)也會造成延遲開銷,按照實際網(wǎng)絡(luò)質(zhì)量評估的話,中國全國覆蓋一般在100ms(包括偏遠地區(qū))。
我們之前遇到一位用戶,研發(fā)要求全球服在60ms的延遲以內(nèi)。按照正常情況,60ms一般可以勉強覆蓋北上廣三地熱門地區(qū)。但是要全球服的情況下會比較捉襟見肘,這種情況下,建議做成跨國區(qū)域服的模式。
另外關(guān)于國際出口的情況,以中國為例,從我們的監(jiān)控情況看,常規(guī)出口的可用率并不樂觀,而我們亞太數(shù)據(jù)中心接入的電信CN2精品網(wǎng)可以做到不錯的穩(wěn)定性保證(也的確有全球服游戲通過此出口傳輸),但是并不能做到非常完美的SLA,不定期也會發(fā)生擁塞和抖動。而且這個問題并不是中國特例,臺灣地區(qū)、俄羅斯、印尼、印度部分邦都存在有一定的跨國出口問題,需要通過外網(wǎng)接入點選擇或者產(chǎn)品解決方案如UCloud PathX解決方案進行網(wǎng)絡(luò)優(yōu)化。
圖五:PathX案例視圖
所以在做一個全球服的項目之前,可以先做調(diào)研、和云廠商或者同行多聊聊,基于這些信息,在關(guān)鍵幀和樂觀鎖的時間制定、游戲內(nèi)部預判及同步機制的設(shè)計上會更有把握。
雜談拓展:區(qū)塊鏈游戲
區(qū)塊鏈游戲是一種新興的游戲模式,但是本質(zhì)上是依托于以太坊或者其他共識模式的鏈實現(xiàn)的玩法,當前市場上的游戲主要分兩類:1、純區(qū)塊鏈游戲;2、裝備或搜集元素上鏈。
前者主要以以太貓為代表,核心是收集、養(yǎng)成類游戲,隨著部分市場關(guān)注賦予了部分商業(yè)屬性。后者則是融合了區(qū)塊鏈元素在其內(nèi)部,附加了很多其他玩法,諸如集換式卡牌等等。
區(qū)塊鏈行業(yè)還在摸索階段,共識算法、共同監(jiān)督、不可否認性是其核心特質(zhì),但性能較低、需要支付GAS等也是其短板,現(xiàn)在作相關(guān)評論還比較早,如果有興趣的話,可以鉆研下相關(guān)共識技術(shù),對于各種鏈、共識技術(shù)有一個認知后,再根據(jù)自己的游戲模式選擇一個適合的場景。
一般來說區(qū)塊鏈游戲和鏈本身是相互依存的,如果鏈自身出現(xiàn)問題也會影響到游戲,可以說鏈是基礎(chǔ)支撐,這個在選擇的時候建議慎重考慮。我們也在探索相關(guān)的技術(shù)方向?qū)嵺`,并同公有云進行結(jié)合。
作者介紹
沈皓:UCloud PathX產(chǎn)品早期方案設(shè)計者之一,深耕全球服游戲領(lǐng)域,曾全面負責多個知名游戲出海項目的全球/跨國業(yè)務(wù)對接、部署及落地。對于MOBA、RTS、FPS等各類游戲的出海全球化的需求、難點、架構(gòu)實現(xiàn)等深入分析并有獨到見解。
更多內(nèi)容,歡迎微信關(guān)注“UCloud技術(shù)公告牌”查看。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站名稱:一款成功的全球服游戲該如何進行架構(gòu)選型與設(shè)計?-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article2/pijoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、域名注冊、用戶體驗、搜索引擎優(yōu)化、微信小程序、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容