成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

融云首席架構(gòu)師李淼:直播互動(dòng)系統(tǒng)的設(shè)計(jì)與實(shí)踐

原創(chuàng)
開發(fā) 項(xiàng)目管理 企業(yè)動(dòng)態(tài)
在直播過程中,出現(xiàn)閃退、卡頓等問題,會(huì)非常影響用戶體驗(yàn)。 當(dāng)用戶量達(dá)到一定規(guī)模,高并發(fā)之下,IM功能的穩(wěn)定性將會(huì)面對(duì)前所未有的考驗(yàn)。基于此,記者在51CTO主辦的WOT2017全球架構(gòu)與運(yùn)維技術(shù)峰會(huì)上,對(duì)融云首席架構(gòu)師李淼進(jìn)行了專訪,話題主要圍繞直播互動(dòng)系統(tǒng)的設(shè)計(jì)與實(shí)踐展開。

【51CTO.com原創(chuàng)稿件】社交垂直化的今天,APP利用垂直社交關(guān)系鏈來提升用戶黏性是通往成功的重要手段,選擇直播互動(dòng)是打通陌生人社交關(guān)系鏈的最佳方式。基于直播業(yè)務(wù)場景的實(shí)時(shí)特性,直播互動(dòng)目前主要通過聊天室產(chǎn)品實(shí)現(xiàn)。看似聊天室只是一個(gè)功能,但消息處理是最大的難點(diǎn)。在直播過程中,出現(xiàn)閃退、卡頓等問題,會(huì)非常影響用戶體驗(yàn)。 當(dāng)用戶量達(dá)到一定規(guī)模,高并發(fā)之下,IM功能的穩(wěn)定性將會(huì)面對(duì)前所未有的考驗(yàn)。基于此,記者在51CTO主辦的WOT2017全球架構(gòu)與運(yùn)維技術(shù)峰會(huì)上,對(duì)融云首席架構(gòu)師李淼進(jìn)行了專訪,話題主要圍繞直播互動(dòng)系統(tǒng)的設(shè)計(jì)與實(shí)踐展開。

直播互動(dòng)系統(tǒng)的一些特性

融云首席架構(gòu)師李淼:直播互動(dòng)系統(tǒng)的設(shè)計(jì)與實(shí)踐

李淼·融云首席架構(gòu)師兼聯(lián)合創(chuàng)始人

融云于14年成立之時(shí),只提供聊天室這樣的服務(wù),國內(nèi)直播平臺(tái)還未大批興起。15年,源于大量客戶對(duì)直播互動(dòng)的需求,融云預(yù)見直播平臺(tái)未來會(huì)有很好的前景,開始與客戶積極交流來挖掘需求,最終將聊天室轉(zhuǎn)變?yōu)橹辈セ?dòng)平臺(tái)。經(jīng)歷了16年一個(gè)完整的直播元年,直播互動(dòng)系統(tǒng)也正式步入了成熟期。

當(dāng)問及直播互動(dòng)系統(tǒng)的特性,李淼表示:

其一,直播互動(dòng)平臺(tái)的用戶量實(shí)際上是沒有上限的,因?yàn)椴豢赡苋ハ拗埔粋€(gè)主播加入觀眾的成員數(shù)量。

其二,通過把消息進(jìn)行分級(jí)控制的方式來保證禮物、紅包等消息傳輸?shù)目煽啃浴?/p>

其三,瞬時(shí)消息吞吐量大,融云某個(gè)聊天室曾經(jīng)一秒鐘產(chǎn)生過近千萬的消息。

其四,就是針對(duì)伸縮及穩(wěn)定性方面的高要求。

消息平臺(tái)的邏輯設(shè)計(jì)及這樣做的原因

消息是直播互動(dòng)系統(tǒng)最重要的元素,消息的處理做的好不好會(huì)直接影響用戶的體驗(yàn)。融云的消息平臺(tái)邏輯設(shè)計(jì)是怎樣的呢?

如上圖,李淼用一張時(shí)序圖針對(duì)這個(gè)問題進(jìn)行了解答。A客戶端是發(fā)消息方、服務(wù)端是融云整個(gè)后端平臺(tái),B客戶端是接收消息方。首先,客戶端向服務(wù)端發(fā)送消息,服務(wù)端接收消息先進(jìn)行消息驗(yàn)證,消息驗(yàn)證里面包含了高危詞、敏感詞的過濾,反垃圾系統(tǒng)對(duì)消息進(jìn)行反垃圾的過濾,以及權(quán)限驗(yàn)證,當(dāng)消息通過之后,對(duì)消息優(yōu)先進(jìn)行存儲(chǔ),之后會(huì)給A客戶端返回應(yīng)答,告知消息已經(jīng)發(fā)送成功。這時(shí)服務(wù)端會(huì)遍歷成員分發(fā)通知。值得注意的是,現(xiàn)在還沒有向客戶端發(fā)送消息實(shí)體,當(dāng)接收客戶端接收消息通知時(shí),會(huì)從自己本地存儲(chǔ)里面拿到當(dāng)前直播間里面最新的消息版本號(hào),同時(shí)向服務(wù)器發(fā)起同步請(qǐng)求,服務(wù)器獲取客戶提交的版本號(hào)之后,會(huì)以這個(gè)版本號(hào)為起點(diǎn)到最新版本號(hào)把所有消息全部拿回來返回給客戶端,客戶端收到這個(gè)消息進(jìn)行消息展示以及存儲(chǔ)這個(gè)最新版本號(hào)。整個(gè)通信流程,版本號(hào)獲取方式,跟常用版本控制軟件比較類似。

之所以把流程變得這么復(fù)雜,在發(fā)送完通知之后再同步消息,主要原因如下:

  • 通知的推送無需服務(wù)質(zhì)量保證
  • 服務(wù)器端存儲(chǔ)的消息順序與到達(dá)的客戶端順序一致
  • 當(dāng)消息密集時(shí)可以將多條消息進(jìn)行合并
  • 可以控制下發(fā)的消息條數(shù)
  •  以存儲(chǔ)分級(jí)實(shí)現(xiàn)消息分級(jí)

消息平臺(tái)在服務(wù)端實(shí)現(xiàn)細(xì)節(jié)及最佳應(yīng)用實(shí)踐

當(dāng)問及直播消息系統(tǒng)于服務(wù)端的實(shí)現(xiàn)細(xì)節(jié),李淼主要從數(shù)據(jù)預(yù)處理、消息分級(jí)、消息存儲(chǔ)和消息分發(fā)隊(duì)列四方面進(jìn)行了介紹,但在實(shí)際服務(wù)開發(fā)過程中,優(yōu)化還有很多。

數(shù)據(jù)預(yù)處理。當(dāng)服務(wù)端接收消息之后優(yōu)先對(duì)數(shù)據(jù)進(jìn)行序列化以及存儲(chǔ),序列化消息和要下發(fā)的客戶端數(shù)據(jù)要保持一致,通過這種預(yù)處理的方式,CPU的使用率在當(dāng)前基礎(chǔ)上降低了30%。

消息分級(jí)存儲(chǔ)。根據(jù)消息類型按照中、高、低序列進(jìn)行分級(jí)存儲(chǔ)。

Skiplist轉(zhuǎn)化為環(huán)形隊(duì)列存儲(chǔ)。每條消息有唯一且遞增版本號(hào),消息按照版本號(hào)順序存儲(chǔ)。這樣的數(shù)據(jù)在內(nèi)存存儲(chǔ)情況下,跳表是一種非常合適的數(shù)據(jù)結(jié)構(gòu)。但是,跳表時(shí)間復(fù)雜度和空間復(fù)雜度比較大,同時(shí)往跳表中插入數(shù)據(jù)時(shí)使用的鎖范圍非常大,會(huì)對(duì)服務(wù)器產(chǎn)生一些額外的開銷。之后,由跳表演進(jìn)成一種類似環(huán)形隊(duì)列的數(shù)據(jù)結(jié)構(gòu),對(duì)服務(wù)器性能開銷提升很多。

Map與隊(duì)列構(gòu)建復(fù)合數(shù)據(jù)結(jié)構(gòu),降低無意義消費(fèi)。服務(wù)端下發(fā)通知,對(duì)于通知來講在這一時(shí)刻無論有多少條消息,每個(gè)用戶只有一條通知,通過Map與隊(duì)列構(gòu)建這樣的復(fù)合結(jié)構(gòu)進(jìn)行存儲(chǔ)。隊(duì)列里面存儲(chǔ)是數(shù)據(jù)的指針,Map存儲(chǔ)用于下發(fā)的通知實(shí)體,Map使用的key為用戶標(biāo)識(shí),這樣可以降低無意義的消費(fèi)。

融云最新版線上直播互動(dòng)平臺(tái)的整體架構(gòu)

直播互動(dòng)平臺(tái)的2.1架構(gòu)

談到直播平臺(tái)的架構(gòu),李淼表示,如上圖,融云目前正在使用的架構(gòu)分為連接層、業(yè)務(wù)層和存儲(chǔ)層等。連接層和業(yè)務(wù)層構(gòu)建成整個(gè)大的集群,然后進(jìn)行服務(wù)。連接層主要是負(fù)責(zé)客戶端與服務(wù)器保持長連接,同時(shí)將客戶端的協(xié)議與內(nèi)部服務(wù)的協(xié)議進(jìn)行相互轉(zhuǎn)化。

業(yè)務(wù)層負(fù)責(zé)IM相關(guān)業(yè)務(wù)處理,業(yè)務(wù)層采用的是微服務(wù)架構(gòu),線上服務(wù)有40多個(gè)類型,但對(duì)于直播互動(dòng)平臺(tái)包含如下三項(xiàng)服務(wù):

第一:上行控制服務(wù),主要目的是用于處理接收的上行客戶端的消息,進(jìn)行敏感詞和高危詞的過濾。這個(gè)服務(wù)的負(fù)載方式采用的是隨機(jī)分配的負(fù)載方式。

第二,直播服務(wù),負(fù)責(zé)維護(hù)直播間成員關(guān)系和負(fù)責(zé)接收上行控制服務(wù)給它的消息,上行控制服務(wù)會(huì)先期進(jìn)行消息拋棄,拋棄到直播服務(wù)可以接收的范圍之內(nèi),將消息下發(fā)到直播服務(wù),直播服務(wù)再廣播到直播消息服務(wù)。

第三:直播消息服務(wù),負(fù)責(zé)給用戶進(jìn)行分發(fā)通知,是以用戶ID進(jìn)行一致的哈希方式進(jìn)行負(fù)載。每個(gè)服務(wù)節(jié)點(diǎn)包含部分用戶關(guān)系。整個(gè)直播消息服務(wù)構(gòu)建了一個(gè)整體成員關(guān)系,他等同于直播消息服務(wù)上的一個(gè)節(jié)點(diǎn)。這層除分發(fā)通知外,還負(fù)責(zé)客戶端同步拉取獲取的消息。

寫在最后:

針對(duì)關(guān)于融云在直播互動(dòng)核心競爭力的問題,李淼老師,這樣回答:“ 我們?nèi)谠铺峁┑氖侵辈セ?dòng)平臺(tái),是一個(gè)基礎(chǔ)PAAS服務(wù),本身并不會(huì)去做直接面對(duì)用戶的直播APP。融云最大的特點(diǎn)就是認(rèn)準(zhǔn)一件事死磕,不停優(yōu)化服務(wù)提升能力,之后再反哺給客戶。我們經(jīng)常與客戶進(jìn)行溝通,收集他們對(duì)直播互動(dòng)這塊的需求。需求拿來之后,產(chǎn)品人員會(huì)對(duì)這些需求進(jìn)行抽象提煉,將他們變成平臺(tái)能力,再提供給更多的客戶。通過這種方式,我們擁有了豐富功能以滿足客戶的業(yè)務(wù)需要,同樣對(duì)新客戶也給他們提供了更多的產(chǎn)品可能性。性能上也得益于現(xiàn)在整個(gè)后端研發(fā)平臺(tái)的人才梯隊(duì)的建設(shè),融云目前有很多高端人才負(fù)責(zé)這一塊的工作,同時(shí)我們擁有大量各種業(yè)務(wù)模式的客戶,也遇到過各類場景下產(chǎn)生的突發(fā)事件,通過這些問題解決和能力提升,所以在性能完全可以滿足客戶的需要”。

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

責(zé)任編輯:王雪燕 來源: 51CTO
相關(guān)推薦

2018-06-13 09:25:27

IT系統(tǒng)架構(gòu)隱私李聰

2017-08-24 08:40:28

直播互動(dòng)平臺(tái)海量消息

2017-04-20 14:41:35

融云WOT即時(shí)通訊云

2015-08-30 10:00:32

七牛云存儲(chǔ)計(jì)算

2016-08-29 11:33:23

京東云云計(jì)算云安全

2017-06-01 09:34:53

公有云數(shù)據(jù)遷移

2009-12-18 10:22:50

Ray Ozzie架構(gòu)師

2016-04-07 10:35:46

架構(gòu)設(shè)計(jì)架構(gòu)師滴滴出行

2016-04-15 00:47:14

滴滴出行架構(gòu)師架構(gòu)設(shè)計(jì)

2009-06-30 16:34:44

微軟

2016-04-07 09:39:33

雪球唐福林實(shí)踐歷程

2012-03-21 17:30:21

百度架構(gòu)師

2011-03-11 15:38:08

Java

2009-06-09 10:02:57

微軟云計(jì)算服務(wù)器

2012-04-26 10:29:55

新浪云計(jì)算SAE

2010-04-20 09:18:00

架構(gòu)師

2012-08-16 14:40:52

2011-07-15 09:44:20

Ruby

2010-12-16 11:05:36

數(shù)學(xué)程序員Google首席Jav

2012-10-25 15:03:35

SAE新浪云計(jì)算平臺(tái)云計(jì)算
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日韩高清一区 | 日韩精品一区二区三区中文字幕 | 一级毛片在线视频 | 亚洲综合免费 | 国产亚洲成av人在线观看导航 | 日本国产精品视频 | 久久精品国产精品青草 | 91免费在线 | 久久精品一区二区三区四区 | 国产一区二区三区高清 | 999热视频| 亚洲啪啪 | 99re99| 91久久国产综合久久91精品网站 | 欧洲毛片| 亚洲一区二区电影网 | 黑人巨大精品欧美一区二区免费 | 日本午夜免费福利视频 | 日韩欧美国产一区二区 | 成人h片在线观看 | 色免费视频 | 国产一区二区高清在线 | 久久国产一区二区 | 作爱视频免费看 | 午夜精品久久久久久久久久久久久 | 亚洲精品一区二区在线观看 | 色综合色综合网色综合 | 一级美国黄色片 | 亚洲国产成人精品女人久久久 | 男人天堂av网| 日韩中文字幕在线播放 | 中文字幕综合在线 | 毛片a级毛片免费播放100 | 成人av一区二区三区 | 999国产视频 | 成人福利网站 | 国产精品视频免费观看 | 国产日产久久高清欧美一区 | 国产综合精品一区二区三区 | 午夜看片网站 | 午夜免费影视 |