騰訊云游戲行業(yè)技術(shù)解決方案

1、網(wǎng)絡(luò)加速

玩家到服務(wù)端的加速,尤其是跨國(guó)加速更多的還是由玩家去購(gòu)買迅游、網(wǎng)易等提供的加速器產(chǎn)品,為降低玩家體驗(yàn)游戲的門檻,提升玩家的體驗(yàn),騰訊云提供兩套方案來實(shí)現(xiàn)服務(wù)端解決跨域長(zhǎng)距離傳輸網(wǎng)絡(luò)質(zhì)量問題。

如下圖為騰訊云的“游戲加速家架構(gòu)(一)”,具體實(shí)現(xiàn)方式為在玩家所在的區(qū)域與游戲服務(wù)器之間架設(shè)一條專線通道構(gòu)建起對(duì)等網(wǎng)絡(luò),通過專線鏈路為玩家提供上下行穩(wěn)定可靠的訪問體驗(yàn)。當(dāng)然這套方案需要游戲開發(fā)者在玩家和服務(wù)器所在的區(qū)域搭建兩個(gè)代理集群,用于上下行流量的轉(zhuǎn)發(fā),有一定成本開銷,同時(shí)對(duì)于已經(jīng)在線運(yùn)營(yíng)的業(yè)務(wù)涉及到玩家請(qǐng)求IP地址的變更。

另一套方案,業(yè)務(wù)的改造成本較低,即保持原有RS(Realy Server) IP地址不變,新增其他區(qū)域的LBS IP地址與映射RS映射,公網(wǎng)IP所在的網(wǎng)關(guān)集群與RS間為專線鏈路,實(shí)現(xiàn)一臺(tái)RS通過多個(gè)公網(wǎng)IP輻射到不同的地域。比如,RS在香港,國(guó)內(nèi)的玩家可分別從騰訊云華北、華東、華南Region的LBS IP上行,走專線到RS,韓國(guó)、日本、新加坡區(qū)域的玩家也同樣可以就近通過本地的LBS IP上行訪問RS的服務(wù)。


2、安全防護(hù)

除了加速解決方案,騰訊云在網(wǎng)絡(luò)攻擊的安全防護(hù)上也提供了多套方案來對(duì)抗不同特點(diǎn)的攻擊,包括超大流量攻擊對(duì)抗方案、精細(xì)化攻擊對(duì)抗方案、棋牌游戲攻擊對(duì)抗方案等等。以超大流量攻擊對(duì)抗為例,業(yè)務(wù)遭受攻擊時(shí)長(zhǎng)占業(yè)務(wù)在線時(shí)長(zhǎng)其實(shí)不大,所以業(yè)務(wù)的常態(tài)服務(wù)可以通過體驗(yàn)較好的BGP網(wǎng)絡(luò)提供,并且BGP可以提供百G規(guī)模攻擊流量的清洗,超出百G的攻擊BGP的清洗成本會(huì)直線上升,因此會(huì)通過騰訊云提供的中間域名將流量自動(dòng)調(diào)度到三網(wǎng)出口進(jìn)行超大攻擊流量的清洗。


3、其他場(chǎng)景的應(yīng)用探索

除了上述解決方案,騰訊云針對(duì)游戲業(yè)務(wù)的痛點(diǎn),還在嘗試其他解決方案的探索,比如全球支付、游戲智能客服、游戲營(yíng)銷安全等。以游戲智能客服為例,玩家在游戲中遇到的問題大多是相似的,通過對(duì)知識(shí)庫數(shù)據(jù)的分析,實(shí)現(xiàn)在線自動(dòng)應(yīng)答,依靠騰訊海量的用戶標(biāo)簽數(shù)據(jù),和優(yōu)秀的算法,訓(xùn)練出真正智能的客服,游戲都可以通過智能客服解答玩家的疑問,提升玩家問題的處理效率和游戲本身的體驗(yàn)。

騰訊游戲海量服務(wù)架構(gòu)構(gòu)建之路

網(wǎng)絡(luò)游戲和其他互聯(lián)網(wǎng)服務(wù)一樣,需要面對(duì)承載海量服務(wù)的壓力,同時(shí)還需要滿足游戲所要求的低延遲、高業(yè)務(wù)邏輯復(fù)雜度特性。來自騰訊游戲研發(fā)部資深架構(gòu)師韓偉,基于騰訊游戲的海量架構(gòu)構(gòu)建經(jīng)驗(yàn),為大家分享了游戲海量服務(wù)的架構(gòu)特征、核心模塊以及彈性能力的實(shí)現(xiàn)手段等技術(shù)內(nèi)容,為游戲開發(fā)者在面對(duì)海量用戶時(shí)提供了一些借鑒思路。

分布式進(jìn)程框架構(gòu)建

現(xiàn)在的騰訊游戲,包括業(yè)界其他很多游戲,如魔獸世界等大多使用的是跨服務(wù)器,所以現(xiàn)在游戲服務(wù)器端的趨勢(shì)是全面的分布式系統(tǒng)。相較于古老的游戲架構(gòu),分布式系統(tǒng),具有方便部署到不同機(jī)器、更精細(xì)的負(fù)載均衡單位以及便于監(jiān)控和問題定位等優(yōu)勢(shì),更加符合閑雜用戶對(duì)游戲系統(tǒng)的體驗(yàn)要求。

下圖是騰訊云的分布式集群架構(gòu)圖,主要包括接入進(jìn)程和邏輯進(jìn)程。左邊是客戶端,騰訊有一些接入進(jìn)程,主要是處理網(wǎng)絡(luò)連接,把這些網(wǎng)絡(luò)連接的數(shù)據(jù)做初步處理之后,再放到邏輯進(jìn)程進(jìn)行分析。有可能這個(gè)邏輯進(jìn)程并不是自己的進(jìn)程,因此可能還會(huì)轉(zhuǎn)發(fā)到別的邏輯請(qǐng)求,最后給客戶端回應(yīng),也有一種情況是游戲需要多個(gè)回應(yīng),即一對(duì)多的請(qǐng)求,這個(gè)時(shí)候整個(gè)過程需要由多個(gè)進(jìn)程同時(shí)滿足,不同的客戶端可能連接在不同的進(jìn)程上面。

不管是接入進(jìn)程還是邏輯進(jìn)程,都需要統(tǒng)一的集群中心來管理,集群中心是所有集群管理的最核心的節(jié)點(diǎn),用來管理多進(jìn)程的模型??梢钥吹剑绻麑⒄麄€(gè)集群看成一個(gè)單位的話,每一個(gè)進(jìn)程其實(shí)都可以方便的部署到不同的機(jī)器上去,通過集群中心,進(jìn)程之間也可以知道對(duì)方的信息、收發(fā)數(shù)據(jù),然后合理的將進(jìn)程分布到不同的機(jī)器上,提高整個(gè)集群的容量。

那么,騰訊云是如何構(gòu)建這樣一個(gè)分布式的集群系統(tǒng)的?韓偉提到了兩個(gè)關(guān)鍵點(diǎn):分布式通信和緩存系統(tǒng)。

分布式通信:現(xiàn)在分布式通信基本上都會(huì)使用到消息隊(duì)列技術(shù),騰訊的消息隊(duì)列有一個(gè)特點(diǎn),每一個(gè)消息的收發(fā)端都是一個(gè)消息隊(duì)列服務(wù)。這個(gè)消息隊(duì)列服務(wù)的收發(fā)端只收取自己相關(guān)的數(shù)據(jù),這種方式可以明顯減少消息列隊(duì)在中轉(zhuǎn)過程的傳遞時(shí)間。另外,騰訊云也會(huì)采用自定義路由的方式,由客戶端根據(jù)需求選取合適的路由方式,靈活配置集群中心的地址。

分布式存儲(chǔ):分布式存儲(chǔ)的核心要點(diǎn)為持久化和緩存兩大塊。接入代理在接到請(qǐng)求后,會(huì)帶上一個(gè)數(shù)據(jù)片,包含數(shù)據(jù)來源等相關(guān)信息,用以做數(shù)據(jù)的追蹤和留存;在緩存方面,邏輯進(jìn)程負(fù)責(zé)承載玩家所要讀寫的數(shù)據(jù)緩存,按照騰訊游戲運(yùn)營(yíng)標(biāo)準(zhǔn),玩家丟失數(shù)據(jù)的時(shí)間不能超過十分鐘,因此,騰訊云會(huì)做一個(gè)定時(shí)自動(dòng)回寫的代碼,每十分鐘自動(dòng)回寫一次,防止數(shù)據(jù)丟失。

這套系統(tǒng)每個(gè)進(jìn)程之間的鏈接看起來比較復(fù)雜,但是實(shí)際上這個(gè)復(fù)雜性被一套通用的分布式通信消息隊(duì)列所接管,開發(fā)者只需要了解這個(gè)集群里面有什么樣的服務(wù),并不需要自己管理這個(gè)復(fù)雜性進(jìn)程,因此,這一整套系統(tǒng)的開發(fā)和維護(hù)上并不困難。

海量服務(wù)器運(yùn)維實(shí)踐

那么,這套分布式系統(tǒng)是如何做運(yùn)維的呢?首先騰訊云會(huì)從部署角度搭建一個(gè)云服務(wù)平臺(tái),做整個(gè)集群的進(jìn)程部署、進(jìn)程監(jiān)管等工作這個(gè)平臺(tái)軟件會(huì)把所有的功能劃分成一個(gè)個(gè)集群,這個(gè)里面的節(jié)點(diǎn)數(shù)量非常多;因此,騰訊云也配套搭建了一套計(jì)算能力伸縮平臺(tái),根據(jù)需求進(jìn)行自動(dòng)的擴(kuò)容和縮容的操作;對(duì)于服務(wù)接口的定義,系統(tǒng)有服務(wù)的綁定、服務(wù)的發(fā)現(xiàn)才能做服務(wù)對(duì)接,所以在分布式開發(fā)框架之外,也會(huì)配置服務(wù)管理系統(tǒng);最后是基礎(chǔ)運(yùn)營(yíng)服務(wù)平臺(tái),包含一些非功能性的能力,比如可以輸出標(biāo)準(zhǔn)的日志,輸入標(biāo)準(zhǔn)的監(jiān)控指標(biāo)等,這個(gè)平臺(tái)主要是支持一些運(yùn)維的操作。

韓偉最后向現(xiàn)場(chǎng)觀眾透露道,騰訊研發(fā)部已經(jīng)將部分跟游戲邏輯關(guān)系不是特別緊密的服務(wù)都做成了云平臺(tái),比如儲(chǔ)存方面,王者榮耀采用這套云平臺(tái)的儲(chǔ)存的同時(shí),全民突擊也會(huì)用這個(gè)存儲(chǔ)系統(tǒng),這樣能夠極大的提升運(yùn)營(yíng)效率以及運(yùn)維效率。

“吃雞”類游戲架構(gòu)分析

今年從3月份開始吃雞游戲一直占據(jù)游戲話題排行榜首位,隨后,國(guó)內(nèi)的廠商也開始進(jìn)行這類游戲的開發(fā),據(jù)統(tǒng)計(jì),吃雞“”類游戲的全球銷量超過3000萬份,同時(shí)在線超過240萬,連續(xù)43周蟬聯(lián)Steam周銷量榜冠軍。那么,這樣一個(gè)火爆游戲的背后,其游戲架構(gòu)是怎樣的呢?并針對(duì)“吃雞”類游戲在反外掛、加速、安全等方面的需求,有什么樣的解決方案?來自騰訊游戲云資深架構(gòu)師賀廣平,就“吃雞”類游戲架構(gòu)和相關(guān)解決方案做了詳盡的分析。

“吃雞”類游戲的架構(gòu)分析

下圖為一個(gè)“吃雞”類游戲完整的架構(gòu)圖,這里,lobby和DS服務(wù)架構(gòu)用作全球部署;安全方面有DDOS防護(hù)和TP反外掛方案,其中,TSS(tencent security system)是騰訊的反外掛系統(tǒng);XMMP 是即時(shí)通訊系統(tǒng),負(fù)責(zé)信息的傳遞;TC為騰訊充值系統(tǒng)-IDIP。

整個(gè)系統(tǒng)看起來比較復(fù)雜,但開發(fā)者實(shí)際上只要關(guān)注兩塊,左邊的游戲登陸模塊和右邊游戲服相關(guān)模塊。

相關(guān)性能解決方案介紹

整體來看,“吃雞” 類游戲是多人同時(shí)在先游戲,兼之全球同服的特點(diǎn),整個(gè)架構(gòu)有四大要求和特點(diǎn):高并發(fā)、低延遲、反外掛以及游戲語音,騰訊云在這四方面也提供了相應(yīng)的解決方案。

高并發(fā)解決方案:吃雞” 類游戲的特點(diǎn)是同一地圖會(huì)有100人以上同場(chǎng)競(jìng)技,需要服務(wù)端有高并發(fā)包量的處理能力和大流量吞吐能力。騰訊云采用的解決方案是高主頻+SSD云盤+多隊(duì)列+智能網(wǎng)卡的方式,提供高 IO 云服務(wù)器以及高可用云數(shù)據(jù)庫,應(yīng)對(duì)激增、高并發(fā)、海量訪問需求。

 

低延遲解決方案:多人實(shí)時(shí)競(jìng)技,需要保證每個(gè)玩家的網(wǎng)絡(luò)延時(shí)和穩(wěn)定性要求,騰訊云在全球共用 Lobby,統(tǒng)一管理和調(diào)度全球各地區(qū)服務(wù)器,如下圖,在網(wǎng)絡(luò)堵塞的情況下,A地域玩家可以通過加速代理直接訪問C地域lobby服務(wù)。

反外掛解決方案:外掛已經(jīng)嚴(yán)重影響到游戲的平衡,尤其在“吃雞”類游戲中更加泛濫,一套強(qiáng)大反外掛系統(tǒng)保證游戲穩(wěn)定運(yùn)營(yíng),TP反外掛系統(tǒng)是騰訊自主研發(fā)的一套安全系統(tǒng),通過增加客戶端代碼加密、外掛特征掃描、動(dòng)態(tài)代碼驗(yàn)證等措施,實(shí)時(shí)保障游戲不受外掛、木馬侵害。其系統(tǒng)框架如下圖所示:

游戲語音解決方案:競(jìng)技類游戲需要通過語音來指揮組內(nèi)其他同伴的戰(zhàn)斗,陌生玩家可以語音直接互動(dòng),也通過聲音判斷其他玩家的位置。下圖為騰訊云的TMG游戲語音框架圖,其3D音效技術(shù),利用“頭部關(guān)聯(lián)傳輸函數(shù)”(HRTF 算法),對(duì)雙耳之間的時(shí)間差異和頻譜差異進(jìn)行建模,形成有聲源方位感的聲音。同時(shí)使用采樣混響方式填補(bǔ)HRIR缺失的環(huán)境反射聲,從而構(gòu)建完整的聲場(chǎng)模型。比如在一個(gè)小房間里,不僅可以聽到兩個(gè)人之間的對(duì)話,還可以聽到聲音從墻壁中反射的效果,增加沉浸感。

目前,基于游戲開發(fā)引擎(例如Unreal、Unity)實(shí)現(xiàn)的3D音效在游戲中的應(yīng)用已經(jīng)非常普遍了,通過游戲引擎模擬重現(xiàn)空間中聲源方位,例如CS中射擊的槍聲、中彈時(shí)的音效、附近敵人輕微的腳步聲,可以顯著提高游戲的沉浸感,造就身臨其境的游戲體驗(yàn)。

三七互娛游戲上云的現(xiàn)狀與未來

三七互娛開發(fā)和運(yùn)營(yíng)了多款成功的游戲,從《永恒紀(jì)元》到《大天使之劍》等,在游戲開發(fā)和運(yùn)維領(lǐng)域有著豐富的經(jīng)驗(yàn)和心得,三七互娛運(yùn)維總監(jiān)龔宏績(jī),從三七互娛實(shí)際業(yè)務(wù)情況出發(fā),分享了對(duì)游戲現(xiàn)狀及未來的一些看法和思考。

龔宏績(jī)認(rèn)為,未來互聯(lián)網(wǎng)企業(yè)只有兩種存在方式:大數(shù)據(jù)和安全,而云是大數(shù)據(jù)和安全的完美結(jié)合體,也可能當(dāng)下甚至未來很長(zhǎng)一段時(shí)間唯一存在的形態(tài)。傳統(tǒng)游戲企業(yè)在做開發(fā)和運(yùn)維的時(shí)候,往往會(huì)面臨區(qū)域性或者跨區(qū)域網(wǎng)絡(luò)構(gòu)建與管理、全面的系統(tǒng)和業(yè)務(wù)監(jiān)控告警、安全事件甄別處理、大量日志收集分析處理等問題,而云,恰好能幫助解決這些事情。

云計(jì)算包含網(wǎng)絡(luò)物理的IaSS基礎(chǔ)設(shè)施即服務(wù)、系統(tǒng)容器的應(yīng)用服務(wù)的PaSS平臺(tái)即服務(wù),在產(chǎn)品的自動(dòng)擴(kuò)容、虛擬化和數(shù)據(jù)高度集成等方面提供了一套完整的解決方案。在運(yùn)維方面,傳統(tǒng)互聯(lián)網(wǎng)企業(yè)的運(yùn)維可以分為三個(gè)階段:標(biāo)準(zhǔn)化、自動(dòng)化和服務(wù)化。國(guó)內(nèi)的大多數(shù)企業(yè),基本上分都處于前面的標(biāo)準(zhǔn)化和自動(dòng)化兩個(gè)階段,而國(guó)內(nèi)的一些云服務(wù)供應(yīng)商如騰訊云、阿里云等,已經(jīng)走到了服務(wù)化階段,這些企業(yè)基于自身業(yè)務(wù)的同時(shí),也開發(fā)了一套比較成熟的產(chǎn)品做成服務(wù)。

現(xiàn)場(chǎng),龔宏績(jī)也表示,現(xiàn)階段企業(yè)上云并非完美無缺,包括三七互娛在內(nèi),大多數(shù)的游戲企業(yè)在公有云成本的管理、以及用戶數(shù)據(jù)安全保障等方面都遇到了比較大的挑戰(zhàn),這也是現(xiàn)今云廠商一直在需求解決之道的方向,也將是未來云領(lǐng)域的技術(shù)趨勢(shì)之一。

演講最后,對(duì)龔宏績(jī)對(duì)云技術(shù)的發(fā)展給出自己的思考:不管是大數(shù)據(jù)還是安全,從商業(yè)的角度來說,未來的技術(shù)和產(chǎn)品發(fā)展趨勢(shì)必然是一個(gè)用戶為中心的世界、一個(gè)數(shù)據(jù)驅(qū)動(dòng)產(chǎn)品的世界、一個(gè)生態(tài)協(xié)同的世界,這是無可置疑的。

直播+游戲 騰訊云線上知識(shí)競(jìng)技方案詳解

最近一段時(shí)間,“直播答題”已席卷互聯(lián)網(wǎng)。王思聰力推《沖頂大會(huì)》、周鴻祎的花椒直播上線《百萬作戰(zhàn)》、今日頭條&西瓜視頻推出《百萬英雄》、映客在線答題《芝士超人》、一直播的《黃金十秒》……仿佛一夕之間,眾多互聯(lián)網(wǎng)直播版《開心辭典》冒了出來。在游戲行業(yè)競(jìng)爭(zhēng)如此激烈的背景下,知識(shí)為何能競(jìng)技異軍突起,成為直播行業(yè)又一風(fēng)口。來自騰訊云P2P直播解決方案負(fù)責(zé)崔立鵬,分享了“沖頂大會(huì)”背后的商業(yè)邏輯和技術(shù)實(shí)現(xiàn)。

沖頂大會(huì)背后的商業(yè)邏輯

沖頂大會(huì)的規(guī)則非常簡(jiǎn)單,用戶參與直播答題,留在最后的用戶可以角逐當(dāng)期獎(jiǎng)金。這些直播答題的題目范圍涉及很廣,每次活動(dòng)共 12 道題,規(guī)則 10 秒中之內(nèi)未答題和答錯(cuò)題都將被淘汰。

那么,這樣一款直播競(jìng)技游戲?yàn)楹稳绱丝焖倩鸨??崔立鵬從拉新促活、廣告分成、以及互聯(lián)網(wǎng)直播內(nèi)容升級(jí)三個(gè)角度給與解答。游戲商可以通過極低的成本獲取大量的用戶數(shù)據(jù)和用戶畫像;其次,問題的設(shè)置面非常廣泛,涉及天文地理歷史科學(xué)娛樂影視音樂詩歌禮儀等,游戲商極易通過提問的形式為廣告方“悄悄”植入廣告;最后,是互聯(lián)網(wǎng)直播的升級(jí),過往大多直播是以主播為主導(dǎo),用戶通過留言互動(dòng),而這類知識(shí)競(jìng)技直播,更多的以用戶為主角,極大的提高用戶參與度。

崔立鵬表示,沖頂大會(huì)只是直播+游戲的一個(gè)小小起步,接下來,將有更多類似的游戲以直播的方式,進(jìn)行轉(zhuǎn)型升級(jí),帶來新一波的玩法。

直播競(jìng)技的技術(shù)痛點(diǎn)和解決方案

之前說到,沖頂大會(huì)是多人同時(shí)在線游戲,同時(shí),在題目顯示10S之內(nèi),用戶必須給出問題的答案,因?yàn)?,這類競(jìng)技節(jié)目的最大痛點(diǎn)是高并發(fā)和直播延遲。試想在網(wǎng)絡(luò)卡頓時(shí),主播拋出問題后,而其他地域的終端用戶沒有及時(shí)同步到信息,那么,他極有可能因?yàn)榫W(wǎng)絡(luò)問題而被Pass掉,這對(duì)用戶來說是一個(gè)致命的體驗(yàn)打擊。

騰訊云基于上述問題提供了業(yè)內(nèi)首家線上競(jìng)技的完整解決方案,如下圖所示,出題方,主持人在演播室,將信息通過IM系統(tǒng)推到騰訊云平臺(tái),加上騰訊云自己的播放器就實(shí)現(xiàn)播放,在直播這方面一個(gè)鏈條已經(jīng)形成了;同時(shí),在導(dǎo)播臺(tái),有一個(gè)簡(jiǎn)單的答題后臺(tái),后臺(tái)提前錄制好了題目和單,放一個(gè)屏幕可以看到這個(gè)題目的,主持人說請(qǐng)聽題,導(dǎo)播在SDK通知時(shí)間匹配后顯示題目,然后通過騰訊云消息通道向全網(wǎng)下發(fā)。

題目雖然下發(fā)了,但其實(shí)不能排除題目和視頻之間是很精準(zhǔn)同步的,這方面,騰訊云做了比較精準(zhǔn)的時(shí)間同步,即在流處理過程中加一個(gè)timestamp,現(xiàn)場(chǎng)發(fā)題的時(shí)候也加一個(gè)標(biāo)準(zhǔn)時(shí)間,這兩個(gè)時(shí)間設(shè)置同步狀態(tài),隨后在播放時(shí),將視頻的音頻和視頻時(shí)間解析出來,這樣能夠?qū)崿F(xiàn)比較好的同步。

分享到

xiesc

相關(guān)推薦