全球今亮點(diǎn)!LiveMe x TiDB 簡(jiǎn)化技術(shù)架構(gòu) 實(shí)現(xiàn)數(shù)據(jù)量單表 39 億條
近些年,由于互聯(lián)網(wǎng)的快速發(fā)展以及線上需求的爆發(fā),直播在國(guó)內(nèi)已經(jīng)成為一個(gè)非常成熟的商業(yè)模式。在娛樂、教育、辦公等場(chǎng)景中涌現(xiàn)出許多優(yōu)秀的視頻直播產(chǎn)品。隨著國(guó)內(nèi)市場(chǎng)競(jìng)爭(zhēng)日益白熱化,加之企業(yè)出海漸成趨勢(shì),越來越多的直播公司選擇走出去,尋找新的海外直播市場(chǎng),借鑒國(guó)內(nèi)成熟的產(chǎn)品、運(yùn)營(yíng)以及商業(yè)模式,讓全球的用戶都用上中國(guó)人創(chuàng)造的產(chǎn)品,LiveMe 便是成功的出海直播產(chǎn)品之一。
(資料圖)
LiveMe 是一個(gè)全球直播和社交平臺(tái),于 2016 年 4 月推出。LiveMe 的產(chǎn)品功能包括 H2H、多人聊天、虛擬形象直播、蹦迪房等,它使用戶能夠隨時(shí)隨地直播、并觀看其他精彩的直播以及與世界各地的朋友進(jìn)行視頻聊天。目前 LiveMe 已在全球積累了超過 1 億用戶和超過 300 萬(wàn)的主播。它已成為美國(guó)最受歡迎的社交應(yīng)用程序之一,并已在 200 多個(gè)國(guó)家和地區(qū)推出。
業(yè)務(wù)痛點(diǎn)
與其他行業(yè)出海一樣,直播產(chǎn)品的出海也面臨著許多全球化挑戰(zhàn)。如各地的合規(guī)監(jiān)管、本地化運(yùn)營(yíng)、持續(xù)創(chuàng)新、政治文化差異等,都為直播產(chǎn)品出海帶來巨大挑戰(zhàn)。而在出海的過程中,底層的技術(shù)能力幫助 LiveMe 在成本節(jié)約、用戶增長(zhǎng)、金融風(fēng)控、提升研發(fā)效率等方面不斷實(shí)現(xiàn)精細(xì)化運(yùn)營(yíng)與業(yè)務(wù)創(chuàng)新。
經(jīng)過了多年的沉淀,LiveMe 在業(yè)務(wù)上已經(jīng)形成了線上微服務(wù)主導(dǎo),線下計(jì)算中心主導(dǎo)的技術(shù)架構(gòu)。線上業(yè)務(wù)是通過 Go 語(yǔ)言開發(fā)的一套微服務(wù)架構(gòu),每個(gè)服務(wù)根據(jù)不同業(yè)務(wù)特性具有自己獨(dú)立的存儲(chǔ)。線下業(yè)務(wù)是由數(shù)據(jù)研發(fā)團(tuán)隊(duì)來維護(hù),通過 sqoop 和 MySQL Binlog 同步等方式從數(shù)據(jù)庫(kù)層面抓取數(shù)據(jù)到數(shù)據(jù)倉(cāng)庫(kù),完成一系列業(yè)務(wù)相關(guān)的支持。
這套業(yè)務(wù)架構(gòu)中線上業(yè)務(wù)主要面臨著以下痛點(diǎn):
第一,雖然完成了微服務(wù)分庫(kù)的設(shè)計(jì),每個(gè)服務(wù)都有自己獨(dú)立的數(shù)據(jù)庫(kù),但是每個(gè)業(yè)務(wù)中又存在很多業(yè)務(wù)上的大表,都存在 MySQL 分表的現(xiàn)象。在典型的分表場(chǎng)景中,數(shù)據(jù)庫(kù)表會(huì)按照用戶的 UID 尾號(hào)經(jīng)過 MD5 后分到 256 張表,但是日積月累后又需要再根據(jù)時(shí)間日期做一個(gè)垂直的分表,導(dǎo)致數(shù)據(jù)庫(kù)表無(wú)法完成聚合查詢,再加上跨時(shí)間段的分表需求,很多場(chǎng)景無(wú)法滿足線上需求。
第二,對(duì)于分析型業(yè)務(wù)數(shù)據(jù)而言,需要保證數(shù)據(jù)的實(shí)時(shí)性,并保留數(shù)據(jù)細(xì)節(jié)。實(shí)時(shí)的數(shù)據(jù)分析,可以在業(yè)務(wù)上更快做出決策,例如在一些活動(dòng)運(yùn)營(yíng)場(chǎng)景中,業(yè)務(wù)團(tuán)隊(duì)需要快速?gòu)母鱾€(gè)數(shù)據(jù)維度來分組統(tǒng)計(jì)觀察活動(dòng)效果;在金融相關(guān)風(fēng)控業(yè)務(wù)中,需要根據(jù)各個(gè)維度快速聚合來判斷各項(xiàng)數(shù)據(jù)是否達(dá)到風(fēng)控模型的閾值。如果使用離線計(jì)算的方式,數(shù)據(jù)的實(shí)時(shí)性根本無(wú)法得到保證;此外,經(jīng)過離線計(jì)算或者實(shí)時(shí)計(jì)算過的數(shù)據(jù),如果用戶反饋數(shù)據(jù)有問題,需要查看數(shù)據(jù)的細(xì)節(jié)也很難實(shí)現(xiàn)。
第三,各種精細(xì)化運(yùn)營(yíng)需求,例如推薦、個(gè)性化運(yùn)營(yíng)等場(chǎng)景不斷增加,對(duì)于數(shù)據(jù)的實(shí)時(shí)要求越來越高。因此,LiveMe 急需一種更簡(jiǎn)單,同時(shí)讓線上線下業(yè)務(wù)做好平衡的方案。
此時(shí),如果 LiveMe 繼續(xù)選擇大數(shù)據(jù)技術(shù)棧解決痛點(diǎn)就會(huì)面臨以下挑戰(zhàn):1)大數(shù)據(jù)技術(shù)棧的架構(gòu)非常復(fù)雜,中間件過多;2)需要額外的技術(shù)棧學(xué)習(xí)成本,比如如果使用數(shù)據(jù)同步,就需要 sqoop、scala、kafka 等中間件,會(huì)大幅增加整個(gè)業(yè)務(wù)的復(fù)雜性;3)希望線上業(yè)務(wù)以及架構(gòu)非常簡(jiǎn)單,能夠簡(jiǎn)化到普通開發(fā)人員只要能夠 CRUD(增加(Create)、讀取(Read)、更新(Update)和刪除(Delete)) 數(shù)據(jù)庫(kù)就可以上手開發(fā)。
為什么選擇 TiDB ?
基于以上業(yè)務(wù)挑戰(zhàn),LiveMe 經(jīng)過一系列技術(shù)選型后最終選擇了 TiDB 數(shù)據(jù)庫(kù)。 TiDB 的以下特性可以幫助 LiveMe 很好的應(yīng)對(duì)挑戰(zhàn):
1)TiDB 的性能大于等于 MySQL ;
2)TiDB 的 HTAP 特性能夠解決線上大表的問題,在后臺(tái)或者一些實(shí)時(shí)分析場(chǎng)景中,其 OLAP 分析能力能夠保證實(shí)時(shí)數(shù)據(jù)報(bào)表;
3)TiDB 引入的 MPP 架構(gòu)分析能力,使得 OLAP 查詢速度非常快,這也是 OLAP 數(shù)據(jù)庫(kù)架構(gòu)上的技術(shù)方向;
4)TiDB 團(tuán)隊(duì)有著完善和專業(yè)的技術(shù)支持,在過程中可以幫助 LiveMe 解決很多問題,在線上大規(guī)模使用后也沒有后顧之憂。
如何利用 TiDB 實(shí)現(xiàn)實(shí)時(shí)聚合查詢
鑒于 LiveMe 的微服務(wù)架構(gòu),如果將數(shù)據(jù)源全部替換,工程量大且不能一蹴而就,因此就需要一種兼容性的方案,在保證線上業(yè)務(wù)不受影響的同時(shí)也能使用 TiDB 的特性來解決 LiveMe 的業(yè)務(wù)痛點(diǎn)。因此,對(duì)于需要聚合查詢的業(yè)務(wù), LiveMe 通過消息隊(duì)列廣播的方式,在業(yè)務(wù)層訂閱相關(guān)事件再補(bǔ)充業(yè)務(wù)側(cè)需要的寬表信息寫入 TiDB,基于 TiFlash 就可以做到實(shí)時(shí)的運(yùn)營(yíng)報(bào)表。業(yè)務(wù)開發(fā)人員只需要編寫對(duì)應(yīng)的 SQL 查詢,就可以輕松完成需求。 沒有了復(fù)雜的 ETL 過程,大大簡(jiǎn)化了開發(fā)流程。
對(duì)于業(yè)務(wù)數(shù)據(jù), LiveMe 使用 AWS SQS 消息隊(duì)列,相比 Kafka 的優(yōu)勢(shì)在于每條數(shù)據(jù)都是原子性的,每條數(shù)據(jù)都可以用來做冪等重試,來保證數(shù)據(jù)的最終一致性。目前,這套技術(shù)方案已經(jīng)支撐了 LiveMe 的活動(dòng)運(yùn)營(yíng)和金融風(fēng)控等多個(gè)業(yè)務(wù)場(chǎng)景,滿足了 LiveMe 對(duì)于線上大量數(shù)據(jù)實(shí)時(shí)聚合查詢的要求。
如何使用 TiDB 簡(jiǎn)化技術(shù)架構(gòu)
LiveMe 有一個(gè)類似朋友圈功能的場(chǎng)景,這個(gè)業(yè)務(wù)中存在兩個(gè)技術(shù)難點(diǎn):第一是對(duì)于數(shù)據(jù)的無(wú)限量增長(zhǎng)存儲(chǔ)如何實(shí)現(xiàn)擴(kuò)容;第二是數(shù)據(jù)的冷熱分離,這又涉及到數(shù)據(jù)成本的問題。
以用戶發(fā) Twitter 的場(chǎng)景舉例:如果用戶發(fā)了一條 Twitter,它會(huì)寫入到自己所有的關(guān)注列表,比如有 100 個(gè)粉絲,就寫入 100 條,如果有 10 萬(wàn)粉絲就需要寫入 10 萬(wàn)條數(shù)據(jù),這是一個(gè)典型的寫擴(kuò)散場(chǎng)景。這個(gè)場(chǎng)景帶來的效果是數(shù)據(jù)爆炸半徑非常大,如果某流量網(wǎng)紅發(fā)一條 Twitter ,數(shù)據(jù)寫入量會(huì)非常大,因此需要一個(gè)能夠接近于無(wú)限擴(kuò)容的存儲(chǔ)機(jī)制才可以實(shí)現(xiàn)這個(gè)場(chǎng)景。
Twitter 是通過維護(hù)一個(gè) redis-cluster 來解決 feed 分發(fā)的存儲(chǔ)。LiveMe 的技術(shù)團(tuán)隊(duì)也想到使用這種技術(shù)架構(gòu),技術(shù)團(tuán)隊(duì)經(jīng)過選型考慮使用 codis 集群來做存儲(chǔ),但通過對(duì)成本的考量,認(rèn)為這個(gè)方案是不可行的,大量的 feed 冷數(shù)據(jù)存儲(chǔ)在 codis 這樣的內(nèi)存密集型數(shù)據(jù)庫(kù)中,成本非常高。因此,技術(shù)團(tuán)隊(duì)面臨的挑戰(zhàn)是如何用低成本的方式去實(shí)現(xiàn)一個(gè)寫擴(kuò)散的場(chǎng)景。
基于 TiDB 解決方案,LiveMe 技術(shù)團(tuán)隊(duì)在上述寫擴(kuò)散場(chǎng)景中,把擴(kuò)散寫入的部分替換成了 TiDB,使用一張數(shù)據(jù)庫(kù)表來存儲(chǔ)所有 feed 的寫入關(guān)系,比如用戶有 100 萬(wàn)粉絲,就在數(shù)據(jù)庫(kù)里插入 100 萬(wàn)條數(shù)據(jù)。基于 TiDB 的分布式數(shù)據(jù)庫(kù)特性,幫助 LiveMe 簡(jiǎn)單高效地解決了數(shù)據(jù)增長(zhǎng)擴(kuò)容問題。
基于此技術(shù)架構(gòu),技術(shù)團(tuán)隊(duì)簡(jiǎn)化了一個(gè)典型的 redis 緩存設(shè)計(jì)問題,熱數(shù)據(jù)放在 redis 中,用 mget 來獲取。冷數(shù)據(jù)放在 TiDB 中,用 select in 查詢,這樣做數(shù)據(jù)冷熱區(qū)分就非常容易,甚至可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的布隆過濾器來了解哪些數(shù)據(jù)在熱數(shù)據(jù),哪些數(shù)據(jù)在冷數(shù)據(jù)里。以此減少無(wú)效數(shù)據(jù)的回源,更高效獲取數(shù)據(jù)。
LiveMe 的朋友圈功能基于 TiDB 的分布式存儲(chǔ)特性進(jìn)行技術(shù)改造后, feed 表從 2021 年中旬上線至今已經(jīng)達(dá)到數(shù)十億數(shù)據(jù)寫入,現(xiàn)在的數(shù)據(jù)量單表 39 億條。因?yàn)檫@些數(shù)據(jù)是永久保留不會(huì)刪除的,所以該數(shù)據(jù)也會(huì)一直增長(zhǎng)。
未來規(guī)劃
未來, LiveMe 將會(huì)繼續(xù)嘗試 TiDB 在更多業(yè)務(wù)中,一方面會(huì)做數(shù)據(jù)庫(kù)管理開發(fā);另一方面將對(duì)于強(qiáng)事務(wù)依賴交易型的業(yè)務(wù)嘗試使用 TiDB,為直播電商場(chǎng)景做技術(shù)儲(chǔ)備。
關(guān)鍵詞: 新聞資訊
2023-02-16 11:56:59
2023-02-16 11:47:57
2023-02-16 11:45:22
2023-02-16 11:44:02
2023-02-16 11:35:28
2023-02-16 11:22:54
2023-02-16 10:56:51
2023-02-16 10:40:10
2023-02-16 10:39:30
2023-02-16 10:32:37
2023-02-16 10:13:32
2023-02-16 09:59:14
2023-02-16 09:58:48
2023-02-16 09:48:56
2023-02-16 09:41:45
2023-02-16 09:40:18
2023-02-16 09:39:26
2023-02-16 09:39:17
2023-02-16 09:38:26
2023-02-16 09:38:21
2023-02-16 09:37:56
2023-02-16 09:37:00
2023-02-16 09:35:40
2023-02-16 09:35:06
2023-02-16 09:34:50
2023-02-16 09:34:20
2023-02-16 09:34:11
2023-02-16 09:33:58
2023-02-16 09:33:57
2023-02-16 09:33:28
2023-02-16 09:33:02
2023-02-16 09:32:22
2023-02-16 09:32:18
2023-02-16 09:31:47
2023-02-16 09:31:33
2023-02-16 09:30:02
2023-02-16 09:29:58
2023-02-16 09:29:38
2023-02-16 09:29:02
2023-02-16 09:26:07
2023-02-16 09:25:13
2023-02-16 09:25:08
2023-02-16 09:24:41
2023-02-16 09:22:24
2023-02-16 09:21:12
2023-02-16 09:20:14
2023-02-16 09:19:09
2023-02-16 09:18:38
2023-02-16 09:17:40
2023-02-16 09:00:03
2023-02-16 08:53:40
2023-02-16 08:49:49
2023-02-16 08:38:08
2023-02-16 08:06:14
2023-02-16 07:49:13
2023-02-16 07:35:17
2023-02-16 06:51:54
2023-02-16 06:51:41
2023-02-16 06:50:53
2023-02-16 06:38:06
2023-02-16 06:34:37
2023-02-16 04:38:54
2023-02-16 02:51:53
2023-02-16 01:50:18
2023-02-15 23:19:42
2023-02-15 22:39:15
2023-02-15 21:46:52
2023-02-15 21:03:20
2023-02-15 20:58:49
2023-02-15 20:45:27
2023-02-15 20:44:58
2023-02-15 20:44:19
2023-02-15 20:41:22
2023-02-15 20:37:55
2023-02-15 19:34:13
2023-02-15 19:23:40
2023-02-15 19:04:48
2023-02-15 18:56:13
2023-02-15 18:53:27
2023-02-15 18:48:14
2023-02-15 18:36:44
2023-02-15 17:56:13
2023-02-15 17:49:03
2023-02-15 17:47:10
2023-02-15 17:41:00
2023-02-15 17:34:12
2023-02-15 17:08:17
2023-02-15 16:56:16
2023-02-15 16:30:56
2023-02-15 16:21:59
2023-02-15 16:19:53
2023-02-15 16:19:47
2023-02-15 16:18:59
2023-02-15 16:16:49
2023-02-15 16:15:39
2023-02-15 16:15:24
2023-02-15 16:14:08 熱門文章
- 1供銷社概念火爆 其中中農(nóng)聯(lián)合連續(xù)三個(gè)漲停板
- 2上市公司回購(gòu)增持掀高潮 多家股東承諾不減持
- 3證通電子稱大股東誤操作 并不是內(nèi)幕交易
- 4上市公司爭(zhēng)相布局抓商機(jī) 智能游戲主機(jī)產(chǎn)品銷售增長(zhǎng)快速
- 510月大宗交易額同比下降三成 合計(jì)成交24.12億股
- 6長(zhǎng)晶科技闖關(guān)IPO 公司業(yè)務(wù)專注于半導(dǎo)體封測(cè)
- 7公募FOF基金數(shù)量擴(kuò)至355只 權(quán)益類基金收益下滑10.21%
- 8QFII三季度動(dòng)向曝光 22家持股市值超10億
- 9三季度北交所公司超四成凈利同比增長(zhǎng) 10家公司營(yíng)收超10億元
- 1010個(gè)月29家深企登陸A股 融資規(guī)模超5140億元
熱點(diǎn)專題
-
科創(chuàng)板做市交易短板須重視 ...10月份的最后一個(gè)交易日,首批科創(chuàng)板做市商將正式開展科創(chuàng)板股票做市交易業(yè)務(wù)。而在此前的10月28日,上... -
A股上市公司赴歐洲上市有積極...A股上市公司選擇赴歐洲上市有積極意義。其一,通過GDR的方式赴歐洲上市,進(jìn)一步拓寬了 A 股上市公司融... -
強(qiáng)勢(shì)股補(bǔ)跌 市場(chǎng)美元指數(shù)持...蘋果五日分時(shí)圖隨著蘋果股價(jià)的加速下跌,A股港股與美股的三大股王均出現(xiàn)了大幅補(bǔ)跌的跡象,整體估值也開... -
多家IPO抽查企業(yè)主動(dòng)撤單 首...上周末,第四批首發(fā)申請(qǐng)企業(yè)現(xiàn)場(chǎng)檢查抽簽名單出爐,博濤熱工、科都電氣、大成精密等3家公司在列。至此,... -
香港恒生指數(shù)大漲逾5% 創(chuàng)六...11月1日是本月首個(gè)交易日,港股高開。至當(dāng)日收盤,香港恒生指數(shù)報(bào)15455 27點(diǎn),漲5 23%,創(chuàng)上月5日收市... -
震有科技被出具警示函 存募...11月1日,震有科技震蕩走高。截至當(dāng)天收盤,漲3 64%,報(bào)11 95元 股。消息面上,震有科技10月31日晚間... -
電訊首科與“大人小店”攀上...港股電訊首科股價(jià)近日仿佛坐上過山車。在10月28日、31日累計(jì)跌超80%的情況下,11月1日低開后大幅反彈,... -
百億私募現(xiàn)身285家公司三季報(bào)...私募排排網(wǎng)統(tǒng)計(jì)數(shù)據(jù)顯示,共有37家百億私募旗下產(chǎn)品進(jìn)入到285家上市公司三季報(bào)前十大流通股股東名單中,... -
莫奈畫作博物館內(nèi)被環(huán)保人士...當(dāng)?shù)貢r(shí)間10月23日,在德國(guó)的巴爾貝里尼博物館內(nèi),有環(huán)保人士向莫奈名畫《干草堆》上潑土豆泥。據(jù)悉,這... -
全球熱推薦:港股午后持續(xù)走...10月24日,騰訊控股(00700 HK)股價(jià)跳空低開,擊穿220港元整數(shù)關(guān)口,盤中最低下探至211 600港元。臨...
關(guān)于我們 廣告服務(wù) 手機(jī)版 投訴文章:435 226 40@qq.com
Copyright (C) 1999-2020 www.baiduer.com.cn 愛好者日?qǐng)?bào)網(wǎng) 版權(quán)所有 聯(lián)系網(wǎng)站:435 226 40@qq.com
相關(guān)新聞