自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

游戲開發(fā)經驗總結:分布式架構、數(shù)據(jù)庫與進程設計

存儲 分布式 游戲開發(fā)
高并發(fā)解決方案:吃雞” 類游戲的特點是同一地圖會有100人以上同場競技,需要服務端有高并發(fā)包量的處理能力和大流量吞吐能力。

   如果把游戲看成一輛賽車,那么,游戲開發(fā)在其中扮演著至關重要的發(fā)動機角色,控制著玩家所感知到的劇情、關卡、實時社交溝通、版本更新、兼容和性能等問題;而運維則充當了決定賽車生死的安全剎車,不管是端游、頁游還是手游,能否扛住卡頓、宕機與DDoS攻擊等都離不開運維的支持。但開發(fā)者往往在突破核心玩法、保障運維質量、抵御惡意攻擊等方面,會遇到諸多挑戰(zhàn)。

  騰訊云,基于自身業(yè)務與海量用戶,在如何打造一款爆款游戲上摸索出了一系列完整的解決方案。1月12日騰訊云聯(lián)合InfoQ舉辦的游戲主題沙龍,來自騰訊云、騰訊游戲和三七互娛的專家們,就游戲的云端開發(fā)與運維展開了深入探討,本文整理了部分精彩內容,感興趣的讀者可以點擊文末【閱讀原文】下載講師完整PDF。

  提供云端技術支持 騰訊云游戲解決方案概述

  來自騰訊云的騰訊游戲云解決方案架構副總監(jiān)王璋,從游戲業(yè)務云上最佳實踐和案例入手,深度剖析了游戲開發(fā)面臨的技術挑戰(zhàn),以及騰訊云在游戲行業(yè)提供的各種解決方案,與一眾參會者探討如何尋找適合自身業(yè)務的游戲云方案。

  游戲開發(fā)面臨的技術挑戰(zhàn)?

  王璋首先介紹到,過去一年,游戲開發(fā)者最關心的問題主要包含加速+專線、攻擊、游戲語音、IOPS+PPS以及Hadoop+AI大數(shù)據(jù)分析等,這也是當前游戲開發(fā)者比較頭疼的幾個方面,基于這些問題,騰訊云提供了系列通用解決方案。

  

 

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

  1、網絡加速

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

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

  

 

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

  

 

  2、安全防護

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

  

 

  3、其他場景的應用探索

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

  騰訊游戲海量服務架構構建之路

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

  分布式進程框架構建

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

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

  

 

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

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

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

  

 

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

  

 

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

  海量服務器運維實踐

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

  

 

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

  “吃雞”類游戲架構分析

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

  “吃雞”類游戲的架構分析

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

  

 

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

  相關性能解決方案介紹

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

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

  

 

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

  

 

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

  

 

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

  

 

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

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

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

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

  

 

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

  

 

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

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

  直播+游戲 騰訊云線上知識競技方案詳解

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

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

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

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

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

  直播競技的技術痛點和解決方案

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

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

  

 

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

責任編輯:張誠 來源: 51CTO
相關推薦

2010-06-07 11:00:53

Hadoop分布式文件

2023-08-27 16:11:35

數(shù)據(jù)庫分布式事務數(shù)據(jù)庫

2010-04-20 10:41:49

Oracle數(shù)據(jù)庫

2009-03-11 15:40:20

2021-08-16 09:55:41

鴻蒙HarmonyOS應用

2019-11-19 09:00:00

數(shù)據(jù)庫架構設計

2015-10-16 14:35:05

SaaSCRM架構設計

2011-03-28 17:12:36

sql server數(shù)優(yōu)化

2010-05-24 17:42:44

MySQL數(shù)據(jù)庫

2023-03-07 09:49:04

分布式數(shù)據(jù)庫

2019-05-30 08:31:39

數(shù)據(jù)庫QTSDB分布式

2022-09-01 07:23:53

云原生數(shù)據(jù)庫Aurora

2023-10-16 09:00:00

數(shù)據(jù)庫分布式系統(tǒng)

2021-08-30 11:21:03

數(shù)據(jù)庫工具技術

2021-11-08 10:52:02

數(shù)據(jù)庫分布式技術

2023-12-14 14:49:05

SQL數(shù)據(jù)庫分布式 SQL

2019-06-10 14:31:24

MySQL存儲數(shù)據(jù)庫

2020-04-14 11:14:02

PostgreSQL分布式數(shù)據(jù)庫

2010-01-26 13:28:11

Android開發(fā)要點

2010-07-14 09:17:17

SQL Server數(shù)
點贊
收藏

51CTO技術棧公眾號