刷新全球游戲記錄!騰訊云TcaplusDB數據庫為《王者榮耀》1億DAU保駕護航
騰訊云TcaplusDB成為全球首款支持過(guò)億DAU游戲的數據庫。
11月1日晚,《王者榮耀》官方宣布2020年日活躍用戶(hù)數日均1億,成為國內乃至全球首個(gè)日均DAU過(guò)億的手游。與此同時(shí),騰訊云TcaplusDB作為《王者榮耀》的數據庫服務(wù)產(chǎn)品,成為全球首款支持過(guò)億DAU游戲的數據庫。
任何一款游戲的成功都不是偶然的,《王者榮耀》在保證游戲的挑戰性、趣味性和多樣性上做了很多功夫,僅系統就有幾十個(gè),包括戰斗系統、玩家系統、銘文等。目前,《王者榮耀》的后臺數據量已高達數百TB,1個(gè)區有100多個(gè)表且還在不斷增加。這就致使了《王者榮耀》對數據庫性能、穩定性、擴縮容、成本、游戲特有場(chǎng)景等方面有著(zhù)更高要求。
對于《王者榮耀》而言,數據庫是靈魂,承載著(zhù)所有系統的信息落地,而專(zhuān)為游戲而生的騰訊云自研分布式NoSQL數據庫TcaplusDB,5年來(lái)一直為《王者榮耀》的核心數據提供數據庫服務(wù)??梢哉f(shuō),每一次的玩家登陸、每一局的對戰、每一輪的錄像回放都是對TcaplusDB的考驗,每一次的團戰都需要在海量的數據中進(jìn)行增刪改查。
“我們對比過(guò)很多數據庫,在目前王者的數據容量和并發(fā)條件下,TcaplusDB的讀寫(xiě)時(shí)延是最穩定的!”《王者榮耀》相關(guān)技術(shù)負責人評價(jià)道。在他看來(lái),TcaplusDB高并發(fā)、低時(shí)延、低成本的性能優(yōu)勢為《王者榮耀》的數據運行和游戲業(yè)務(wù)場(chǎng)景提供了強勁支撐。
具體來(lái)說(shuō),TcaplusDB擁有接近無(wú)限的水平擴展能力?;趕hard分片的分布式技術(shù),其單表容量可以支持2.56PB,吞吐能力隨硬件擴充呈線(xiàn)性增長(cháng)。同時(shí),通過(guò)快慢請求分離與記錄級鎖,它可以解決復雜請求和簡(jiǎn)單請求的隔離,減少鎖定范圍提升讀寫(xiě)效率。此外,基于創(chuàng )新算法,TcaplusDB可以在一個(gè)進(jìn)程中實(shí)現冷熱數據的交換,解決跨進(jìn)程數據交換的一致性、可用性與管理復雜等問(wèn)題。
從游戲業(yè)務(wù)場(chǎng)景的角度出發(fā),TcaplusDB支持表級和記錄級的數據生命周期管理,能夠有效實(shí)現活動(dòng)數據的過(guò)期清理。此外,基于冷備數據和二進(jìn)制日志數據,TcaplusDB還可以針對全服級、表級、記錄級或按照指定條件進(jìn)行回檔,且時(shí)間精確到毫秒。
另一方面,面對海量增長(cháng)的用戶(hù)數,系統穩定和擴容一直是《王者榮耀》的關(guān)注焦點(diǎn)。
不管是每年的“開(kāi)黑節”、春節期間的DAU上漲還是5周年慶的計劃性擴容,TcaplusDB都能在應對頻繁擴容需求的同時(shí)確保著(zhù)5個(gè)9的高可用性。
2020年春節,TcaplusDB陸續對各個(gè)大區7個(gè)表進(jìn)行了15次擴容,擴容集群服務(wù)只增加了20組。最后一次擴容,在1小時(shí)內完成了突增100萬(wàn)-200萬(wàn) PCU擴容,且在擴容過(guò)程中玩家無(wú)感知。
這是個(gè)幾乎不可能完成的任務(wù),但TcaplusDB交上了滿(mǎn)分答卷。它是怎么做到的?
首先是理解應用的自動(dòng)負載均衡和過(guò)載保護。以過(guò)載保護為例,TcaplusDB能站在“游戲服務(wù)器”的視角感知業(yè)務(wù)過(guò)載,通過(guò)處理時(shí)延、隊列長(cháng)度、成功率等指標綜合評估數據庫的負載能力,對高負載應用進(jìn)行保護,防止雪崩發(fā)生。
同時(shí),TcaplusDB針對計劃內擴容和計劃外擴容,提出了不同的解決方案,根據實(shí)際情況隨機應變,靈活處理,并通過(guò)對可用區故障的自動(dòng)切換與修復,在技術(shù)上支持跨可用區和單設備的故障自動(dòng)切換和修復,既保障了擴容的速度和效率,又做到對玩家的完全無(wú)感。
值得一提的是,這不是首次面對這樣的挑戰。早在2017年春節期間,TcaplusDB就經(jīng)歷了連續七天的深夜擴容,在系統能力不足的情況下,通過(guò)開(kāi)啟讀分流規避方案,成功度過(guò)高峰期。S賽季期間,由于玩家想看的賽季場(chǎng)數超過(guò)最初設計的10場(chǎng),TcaplusDB是進(jìn)行了大規模改表結構,緊急支持表結構修改對用戶(hù)無(wú)感方案。
歷經(jīng)騰訊內部8年的游戲經(jīng)驗積累,TcaplusDB數據庫已廣泛應用于《王者榮耀》、《刺激戰場(chǎng)》、《穿越火線(xiàn)》、《火影忍者》等數百款流行游戲,并通過(guò)騰訊云向全球游戲業(yè)務(wù)提供服務(wù)。
未來(lái),隨著(zhù)以《王者榮耀》為代表的手游市場(chǎng)邁入新臺階,騰訊云數據庫也將持續投入資源以豐富游戲行業(yè)的技術(shù)產(chǎn)品生態(tài),不斷提升綜合服務(wù)能力,助力手游市場(chǎng)高質(zhì)量快速增長(cháng)。
最后,記得關(guān)注微信公眾號:鎂客網(wǎng)(im2maker),更多干貨在等你!
硬科技產(chǎn)業(yè)媒體
關(guān)注技術(shù)驅動(dòng)創(chuàng )新
