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

虎牙海外直播的“專庫專用”策略

原創(chuàng)
云計(jì)算 數(shù)據(jù)庫
在虎牙海外業(yè)務(wù)快速發(fā)展的過程中,也對(duì)數(shù)據(jù)庫提出了更高的要求。目前,虎牙海外直播業(yè)務(wù)根據(jù)不同的業(yè)務(wù)場(chǎng)景,使用了亞馬遜云科技不同的數(shù)據(jù)庫來解決不同的業(yè)務(wù)問題,實(shí)現(xiàn)了數(shù)據(jù)庫性能提升,全球數(shù)據(jù)同步,直播平臺(tái)的風(fēng)險(xiǎn)把控,并應(yīng)對(duì)了流量突增等業(yè)務(wù)場(chǎng)景。

【51CTO.com原創(chuàng)稿件】虎牙是以游戲直播業(yè)務(wù)為核心的直播平臺(tái),秉持技術(shù)驅(qū)動(dòng)娛樂的理念,在業(yè)務(wù)發(fā)展過程中不斷采用創(chuàng)新技術(shù),創(chuàng)造直播互動(dòng)的全新體驗(yàn)。在虎牙深耕國(guó)內(nèi)業(yè)務(wù)的同時(shí),也在進(jìn)行海外業(yè)務(wù)拓展。2018年,虎牙推出海外直播產(chǎn)品 Nimo TV,并且快速進(jìn)入到東南亞、拉美、中東等地區(qū)。截止到2020年,虎牙海外的移動(dòng)游戲直播平臺(tái) Nimo TV 的海外 MAU 已經(jīng)突破了三千萬。

在海外業(yè)務(wù)快速發(fā)展的過程中,也對(duì)虎牙的數(shù)據(jù)庫提出了更高的要求?;⒀篮M鈽I(yè)務(wù)平臺(tái)的技術(shù)負(fù)責(zé)人馬昭在采訪時(shí)表示,虎牙會(huì)根據(jù)不同的業(yè)務(wù)場(chǎng)景使用不同的數(shù)據(jù)庫來解決不同的有業(yè)務(wù)問題,和亞馬遜云科技的“專庫專用”理念不謀而合。目前,虎牙使用了 Amazon Aurora 替代傳統(tǒng) MySQL,提升了性能;利用 Amazon DynamoDB 的無服務(wù)器化特性,應(yīng)對(duì)流量突增;利用 Amazon ElastiCache for Redis 實(shí)現(xiàn)內(nèi)存數(shù)據(jù)的全球復(fù)制;采用 Amazon Neptune 實(shí)現(xiàn)對(duì)直播平臺(tái)的風(fēng)險(xiǎn)把控。

全球化對(duì)數(shù)據(jù)庫帶來的挑戰(zhàn)

在虎牙海外業(yè)務(wù)發(fā)展中,對(duì)數(shù)據(jù)庫最基本的要求就是成熟穩(wěn)定。馬昭表示,數(shù)據(jù)庫的穩(wěn)定性直接決定了上云業(yè)務(wù)的穩(wěn)定性,一旦數(shù)據(jù)庫出現(xiàn)問題影響會(huì)比較大。其次,海外業(yè)務(wù)擴(kuò)展迅速,因此虎牙需要對(duì)數(shù)據(jù)庫的擴(kuò)展性提出更高的要求,希望可以跟隨業(yè)務(wù)的需求進(jìn)行快速擴(kuò)展。第三,數(shù)據(jù)庫需要兼容已有架構(gòu)。在海外業(yè)務(wù)建立前,虎牙直播已經(jīng)在國(guó)內(nèi)發(fā)展數(shù)年,當(dāng)海外業(yè)務(wù)發(fā)展時(shí),可以兼容基礎(chǔ)平臺(tái)和相關(guān)構(gòu)件。

因此,在穩(wěn)定性、擴(kuò)展性、兼容性、全球化支持、自動(dòng)擴(kuò)容和成本優(yōu)化等多方面綜合考量后,虎牙選擇了亞馬遜云科技的數(shù)據(jù)庫產(chǎn)品,通過選用不同類型的數(shù)據(jù)庫解決不同業(yè)務(wù)問題。馬昭認(rèn)為,海外直播業(yè)務(wù)對(duì)可靠性、低延時(shí)等需求要求高,如果全球業(yè)務(wù)走公網(wǎng)的話,延時(shí)會(huì)非常高并且不穩(wěn)定,安全性也相對(duì)較差。因此,虎牙海外直播場(chǎng)景依靠亞馬遜云科技的核心骨干網(wǎng),來實(shí)現(xiàn)低延遲訪問。

Amazon Aurora 替代 MySQL 提升性能

過去,虎牙一直使用的是 MySQL 關(guān)系型數(shù)據(jù)庫。隨著業(yè)務(wù)量的增加以及數(shù)據(jù)爆炸式的增長(zhǎng),MySQL 的性能已經(jīng)無法滿足虎牙的要求。在虎牙選擇亞馬遜云科技的 Amazon Aurora 后,將交易信息、主題信息、主播開播記錄以及用戶信息等等遷移到 Amazon Aurora 中存儲(chǔ),達(dá)到了性能提升的目的。

馬昭介紹了 Amazon Aurora 帶來的諸多好處。首先是性能提升,若要提升 MySQL 的讀寫性能,需要進(jìn)行分庫分表操作,雖然可以提升性能但是聚合查詢會(huì)變得非常困難。在使用 Amazon Aurora 后省去了大量分庫分表工作,研發(fā)人員更加專注在主營(yíng)業(yè)務(wù)方面。

第二,Amazon Aurora 非常易于擴(kuò)展。虎牙海外流量變化迅速,需要頻繁地?cái)U(kuò)縮容。而 MySQL 擴(kuò)縮容經(jīng)常需要遷移數(shù)據(jù),非常困難。而 Amazon Aurora 由于計(jì)算和存儲(chǔ)分離的架構(gòu),擴(kuò)縮容非常容易,并且虎牙已經(jīng)實(shí)現(xiàn)了 Amazon Aurora 自動(dòng)擴(kuò)容,成本下降了50%以上。

第三,Amazon Aurora 的全球同步能力提升?;⒀篮M庥脩舴植荚诓煌瑖?guó)家,距離相對(duì)比較遠(yuǎn),用戶之間的訪問延遲比較高,如果想要降低延遲,提升用戶體驗(yàn),就需要數(shù)據(jù)能夠就近訪問,但是 MySQL 很難滿足這一需求。在使用 Amazon Aurora 的物理同步方式后,虎牙海外業(yè)務(wù)的數(shù)據(jù)全球化的問題得到了很好地解決。

第四,MySQL 的維護(hù)和遷移是相對(duì)比較繁瑣的,需要 DBA 頻繁地完成復(fù)制、備份等工作。Amazon Aurora 的維護(hù)會(huì)簡(jiǎn)單很多,基本可以實(shí)現(xiàn)自動(dòng)化,并且 Amazon Aurora 還開放了很多 API 接口,虎牙可以接入自己的運(yùn)維系統(tǒng),便于運(yùn)維工程師進(jìn)行監(jiān)控和規(guī)劃。此外,Amazon Aurora 能夠完全兼容 MySQL,無需做任何代碼更改即可上線。

利用 Amazon DynamoDB 應(yīng)對(duì)流量突增

虎牙海外業(yè)務(wù)遍布全球,在一些國(guó)家的重大節(jié)日或活動(dòng)時(shí),很多主播都會(huì)上線進(jìn)行直播。當(dāng)粉絲訂閱了某個(gè)主播的某個(gè)頻道后,在主播開播時(shí),粉絲就會(huì)收到一條推送消息,告知粉絲主播開播可以到房間進(jìn)行觀看和互動(dòng)。

開播服務(wù)有幾大特點(diǎn),業(yè)務(wù)變化非???,低峰與高峰的數(shù)值躍動(dòng)大,預(yù)測(cè)和預(yù)留資源困難,訂閱關(guān)系分布不均勻,實(shí)時(shí)性比較高。因此,在亞馬遜云科技的幫助下,虎牙設(shè)計(jì)了全球主播信息推送架構(gòu),可以輕松應(yīng)對(duì)10倍以上的流量突增。

這其中使用了 Amazon DynamoDB 作為訂閱關(guān)系的存儲(chǔ)。借助 Amazon DynamoDB,虎牙海外業(yè)務(wù)實(shí)現(xiàn)了自動(dòng)擴(kuò)容,無需預(yù)留很多機(jī)器來應(yīng)對(duì)流量突增帶來的成本浪費(fèi)。其次,亞馬遜云科技的友好式計(jì)費(fèi)方式,幫助虎牙節(jié)省了很多不必要的開支。馬昭表示,當(dāng)業(yè)務(wù)量很低的時(shí)候費(fèi)用也會(huì)很低,當(dāng)業(yè)務(wù)量突增后,只需要針對(duì)高峰流量進(jìn)行付費(fèi)。此外,虎牙采用的是無服務(wù)器架構(gòu),因此技術(shù)人員無需關(guān)心底層架構(gòu),極大地節(jié)省人力。在全球化業(yè)務(wù)的同步時(shí),虎牙采用了Global Tables,可以輕松應(yīng)對(duì)十倍以上的流量突增。

內(nèi)存數(shù)據(jù)庫以及圖數(shù)據(jù)庫的支持

除了使用 Amazon Aurora 和 Amazon DynamoDB 來提升性能和應(yīng)對(duì)流量激增,虎牙海外業(yè)務(wù)還使用了內(nèi)存數(shù)據(jù)庫和圖數(shù)據(jù)庫。

隨著虎牙的業(yè)務(wù)擴(kuò)展到全球各個(gè)地區(qū),用戶之間距離也相對(duì)較遠(yuǎn),經(jīng)常需要跨洲訪問,于是如何提升用戶體驗(yàn)、降低物理延時(shí)成為了虎牙技術(shù)團(tuán)隊(duì)亟需解決的問題。馬昭表示,在虎牙海外業(yè)務(wù)開啟了內(nèi)存數(shù)據(jù)庫全球化的進(jìn)程中 ,采用了 Amazon ElastiCache for Redis,存儲(chǔ)了傳統(tǒng)的數(shù)據(jù)緩存以及用戶和主播的狀態(tài),并且利用 Amazon Global Datastore 實(shí)現(xiàn)低延遲的數(shù)據(jù)本地讀取,滿足了數(shù)據(jù)同步和低延遲的要求。

此外,虎牙還使用了 Amazon Neptune 圖數(shù)據(jù)庫,存儲(chǔ)和搜索多度關(guān)系,并且完成了欺詐主播和欺詐用戶的標(biāo)定,只需要一條 Amazon Neptune 語句,就可以將利益鏈條上的所有主播和用戶全部找出,實(shí)現(xiàn)了對(duì)平臺(tái)的風(fēng)險(xiǎn)把控。

未來發(fā)展

未來,虎牙會(huì)在兩方面不斷探索。首先是云游戲領(lǐng)域,虎牙會(huì)嘗試不同的數(shù)據(jù)存儲(chǔ)和同步方式來支持游戲,也會(huì)進(jìn)行計(jì)算和存儲(chǔ)的分離工作來支撐云游戲的服務(wù)。

其次,虎牙會(huì)打造更加靈活的數(shù)據(jù)庫彈性方式,以應(yīng)對(duì)各種流量突增。同時(shí),也會(huì)利用AI技術(shù)來預(yù)測(cè)流量的變化,以及采用各種推薦和欺詐監(jiān)測(cè)等AI功能;此外,虎牙也會(huì)嘗試無服務(wù)器化的數(shù)據(jù)庫應(yīng)用,來實(shí)現(xiàn)降本增效。

 

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

 

責(zé)任編輯:鳶瑋 來源: 51cto
相關(guān)推薦

2019-12-13 09:15:23

虎牙AWSre:Invent 2

2019-02-28 09:22:37

Nacos微服務(wù)DNS

2018-08-29 15:04:35

網(wǎng)約車

2020-08-21 23:04:46

華為云

2020-10-29 10:44:59

斗魚騰訊虎牙

2016-12-27 13:44:49

騰訊

2018-11-22 16:12:41

2009-04-13 09:25:00

2024-01-25 15:39:56

易點(diǎn)天下

2019-04-28 12:42:53

虎牙高清戶外直播

2020-10-12 10:25:15

騰訊/直播

2022-12-21 14:28:07

騰訊云卡塔爾世界杯直播

2009-03-30 20:56:46

智慧的地球云計(jì)算IBM軟件

2018-08-13 17:52:00

騰訊云

2018-11-13 14:47:13

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)