新聞中心
虎牙海外直播的“專庫專用”策略
原創(chuàng)
作者: 鳶瑋 2021-12-13 15:07:16
云計算
數(shù)據(jù)庫 在虎牙海外業(yè)務(wù)快速發(fā)展的過程中,也對數(shù)據(jù)庫提出了更高的要求。目前,虎牙海外直播業(yè)務(wù)根據(jù)不同的業(yè)務(wù)場景,使用了亞馬遜云科技不同的數(shù)據(jù)庫來解決不同的業(yè)務(wù)問題,實現(xiàn)了數(shù)據(jù)庫性能提升,全球數(shù)據(jù)同步,直播平臺的風(fēng)險把控,并應(yīng)對了流量突增等業(yè)務(wù)場景。

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)浮山免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
【51CTO.com原創(chuàng)稿件】虎牙是以游戲直播業(yè)務(wù)為核心的直播平臺,秉持技術(shù)驅(qū)動娛樂的理念,在業(yè)務(wù)發(fā)展過程中不斷采用創(chuàng)新技術(shù),創(chuàng)造直播互動的全新體驗。在虎牙深耕國內(nèi)業(yè)務(wù)的同時,也在進(jìn)行海外業(yè)務(wù)拓展。2018年,虎牙推出海外直播產(chǎn)品 Nimo TV,并且快速進(jìn)入到東南亞、拉美、中東等地區(qū)。截止到2020年,虎牙海外的移動游戲直播平臺 Nimo TV 的海外 MAU 已經(jīng)突破了三千萬。
在海外業(yè)務(wù)快速發(fā)展的過程中,也對虎牙的數(shù)據(jù)庫提出了更高的要求?;⒀篮M鈽I(yè)務(wù)平臺的技術(shù)負(fù)責(zé)人馬昭在采訪時表示,虎牙會根據(jù)不同的業(yè)務(wù)場景使用不同的數(shù)據(jù)庫來解決不同的有業(yè)務(wù)問題,和亞馬遜云科技的“專庫專用”理念不謀而合。目前,虎牙使用了 Amazon Aurora 替代傳統(tǒng) MySQL,提升了性能;利用 Amazon DynamoDB 的無服務(wù)器化特性,應(yīng)對流量突增;利用 Amazon ElastiCache for Redis 實現(xiàn)內(nèi)存數(shù)據(jù)的全球復(fù)制;采用 Amazon Neptune 實現(xiàn)對直播平臺的風(fēng)險把控。
全球化對數(shù)據(jù)庫帶來的挑戰(zhàn)
在虎牙海外業(yè)務(wù)發(fā)展中,對數(shù)據(jù)庫最基本的要求就是成熟穩(wěn)定。馬昭表示,數(shù)據(jù)庫的穩(wěn)定性直接決定了上云業(yè)務(wù)的穩(wěn)定性,一旦數(shù)據(jù)庫出現(xiàn)問題影響會比較大。其次,海外業(yè)務(wù)擴(kuò)展迅速,因此虎牙需要對數(shù)據(jù)庫的擴(kuò)展性提出更高的要求,希望可以跟隨業(yè)務(wù)的需求進(jìn)行快速擴(kuò)展。第三,數(shù)據(jù)庫需要兼容已有架構(gòu)。在海外業(yè)務(wù)建立前,虎牙直播已經(jīng)在國內(nèi)發(fā)展數(shù)年,當(dāng)海外業(yè)務(wù)發(fā)展時,可以兼容基礎(chǔ)平臺和相關(guān)構(gòu)件。
因此,在穩(wěn)定性、擴(kuò)展性、兼容性、全球化支持、自動擴(kuò)容和成本優(yōu)化等多方面綜合考量后,虎牙選擇了亞馬遜云科技的數(shù)據(jù)庫產(chǎn)品,通過選用不同類型的數(shù)據(jù)庫解決不同業(yè)務(wù)問題。馬昭認(rèn)為,海外直播業(yè)務(wù)對可靠性、低延時等需求要求高,如果全球業(yè)務(wù)走公網(wǎng)的話,延時會非常高并且不穩(wěn)定,安全性也相對較差。因此,虎牙海外直播場景依靠亞馬遜云科技的核心骨干網(wǎng),來實現(xiàn)低延遲訪問。
Amazon Aurora 替代 MySQL 提升性能
過去,虎牙一直使用的是 MySQL 關(guān)系型數(shù)據(jù)庫。隨著業(yè)務(wù)量的增加以及數(shù)據(jù)爆炸式的增長,MySQL 的性能已經(jīng)無法滿足虎牙的要求。在虎牙選擇亞馬遜云科技的 Amazon Aurora 后,將交易信息、主題信息、主播開播記錄以及用戶信息等等遷移到 Amazon Aurora 中存儲,達(dá)到了性能提升的目的。
馬昭介紹了 Amazon Aurora 帶來的諸多好處。首先是性能提升,若要提升 MySQL 的讀寫性能,需要進(jìn)行分庫分表操作,雖然可以提升性能但是聚合查詢會變得非常困難。在使用 Amazon Aurora 后省去了大量分庫分表工作,研發(fā)人員更加專注在主營業(yè)務(wù)方面。
第二,Amazon Aurora 非常易于擴(kuò)展?;⒀篮M饬髁孔兓杆?,需要頻繁地擴(kuò)縮容。而 MySQL 擴(kuò)縮容經(jīng)常需要遷移數(shù)據(jù),非常困難。而 Amazon Aurora 由于計算和存儲分離的架構(gòu),擴(kuò)縮容非常容易,并且虎牙已經(jīng)實現(xiàn)了 Amazon Aurora 自動擴(kuò)容,成本下降了50%以上。
第三,Amazon Aurora 的全球同步能力提升。虎牙海外用戶分布在不同國家,距離相對比較遠(yuǎn),用戶之間的訪問延遲比較高,如果想要降低延遲,提升用戶體驗,就需要數(shù)據(jù)能夠就近訪問,但是 MySQL 很難滿足這一需求。在使用 Amazon Aurora 的物理同步方式后,虎牙海外業(yè)務(wù)的數(shù)據(jù)全球化的問題得到了很好地解決。
第四,MySQL 的維護(hù)和遷移是相對比較繁瑣的,需要 DBA 頻繁地完成復(fù)制、備份等工作。Amazon Aurora 的維護(hù)會簡單很多,基本可以實現(xiàn)自動化,并且 Amazon Aurora 還開放了很多 API 接口,虎牙可以接入自己的運維系統(tǒng),便于運維工程師進(jìn)行監(jiān)控和規(guī)劃。此外,Amazon Aurora 能夠完全兼容 MySQL,無需做任何代碼更改即可上線。
利用 Amazon DynamoDB 應(yīng)對流量突增
虎牙海外業(yè)務(wù)遍布全球,在一些國家的重大節(jié)日或活動時,很多主播都會上線進(jìn)行直播。當(dāng)粉絲訂閱了某個主播的某個頻道后,在主播開播時,粉絲就會收到一條推送消息,告知粉絲主播開播可以到房間進(jìn)行觀看和互動。
開播服務(wù)有幾大特點,業(yè)務(wù)變化非??欤头迮c高峰的數(shù)值躍動大,預(yù)測和預(yù)留資源困難,訂閱關(guān)系分布不均勻,實時性比較高。因此,在亞馬遜云科技的幫助下,虎牙設(shè)計了全球主播信息推送架構(gòu),可以輕松應(yīng)對10倍以上的流量突增。
這其中使用了 Amazon DynamoDB 作為訂閱關(guān)系的存儲。借助 Amazon DynamoDB,虎牙海外業(yè)務(wù)實現(xiàn)了自動擴(kuò)容,無需預(yù)留很多機(jī)器來應(yīng)對流量突增帶來的成本浪費。其次,亞馬遜云科技的友好式計費方式,幫助虎牙節(jié)省了很多不必要的開支。馬昭表示,當(dāng)業(yè)務(wù)量很低的時候費用也會很低,當(dāng)業(yè)務(wù)量突增后,只需要針對高峰流量進(jìn)行付費。此外,虎牙采用的是無服務(wù)器架構(gòu),因此技術(shù)人員無需關(guān)心底層架構(gòu),極大地節(jié)省人力。在全球化業(yè)務(wù)的同步時,虎牙采用了Global Tables,可以輕松應(yīng)對十倍以上的流量突增。
內(nèi)存數(shù)據(jù)庫以及圖數(shù)據(jù)庫的支持
除了使用 Amazon Aurora 和 Amazon DynamoDB 來提升性能和應(yīng)對流量激增,虎牙海外業(yè)務(wù)還使用了內(nèi)存數(shù)據(jù)庫和圖數(shù)據(jù)庫。
隨著虎牙的業(yè)務(wù)擴(kuò)展到全球各個地區(qū),用戶之間距離也相對較遠(yuǎn),經(jīng)常需要跨洲訪問,于是如何提升用戶體驗、降低物理延時成為了虎牙技術(shù)團(tuán)隊亟需解決的問題。馬昭表示,在虎牙海外業(yè)務(wù)開啟了內(nèi)存數(shù)據(jù)庫全球化的進(jìn)程中 ,采用了 Amazon ElastiCache for Redis,存儲了傳統(tǒng)的數(shù)據(jù)緩存以及用戶和主播的狀態(tài),并且利用 Amazon Global Datastore 實現(xiàn)低延遲的數(shù)據(jù)本地讀取,滿足了數(shù)據(jù)同步和低延遲的要求。
此外,虎牙還使用了 Amazon Neptune 圖數(shù)據(jù)庫,存儲和搜索多度關(guān)系,并且完成了欺詐主播和欺詐用戶的標(biāo)定,只需要一條 Amazon Neptune 語句,就可以將利益鏈條上的所有主播和用戶全部找出,實現(xiàn)了對平臺的風(fēng)險把控。
未來發(fā)展
未來,虎牙會在兩方面不斷探索。首先是云游戲領(lǐng)域,虎牙會嘗試不同的數(shù)據(jù)存儲和同步方式來支持游戲,也會進(jìn)行計算和存儲的分離工作來支撐云游戲的服務(wù)。
其次,虎牙會打造更加靈活的數(shù)據(jù)庫彈性方式,以應(yīng)對各種流量突增。同時,也會利用AI技術(shù)來預(yù)測流量的變化,以及采用各種推薦和欺詐監(jiān)測等AI功能;此外,虎牙也會嘗試無服務(wù)器化的數(shù)據(jù)庫應(yīng)用,來實現(xiàn)降本增效。
【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】
網(wǎng)站欄目:虎牙海外直播的“專庫專用”策略
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/dhpisho.html


咨詢
建站咨詢
