1. 祖拉迪拜祈祷小组赛
  2. APP推廣

上古卷轴5阿祖拉祭祀:Facebook如何實現80萬人同時在線觀看直播?

祖拉迪拜祈祷小组赛 www.exjyiw.com.cn 3

現在只有極少數公司知道如何提供世界跨越式分布服務,這些公司的數量甚至比當今擁有核武器的國家還少。Facebook就是這少數中的一個,它的新視頻直播流媒體產品Facebook Live就是跨越式分布服務的代表。

Facebook CEO 馬克·扎克伯格:

我們最終決定將視頻服務的重心轉向直播,因為直播是一種新興的模式,不同于過去五到十年的網絡視頻模式,我們即將進入視頻發展的黃金階段。如果時間快進五年,人們在Facebook上看到的大部分內容都可能會以視頻的形式呈現。

Facebook直播的強大技術體現在一段45分鐘的視頻中,視頻里兩人用橡皮筋給西瓜施壓最后使其爆炸。這段視頻最大觀看人數高達80萬,并有超過30萬條評論。這一驚人數據是基于Facebook15億用戶基礎上的。

2015年美國超級碗播出時,有11.4億人觀看了比賽,約236萬通過直播觀看比賽。在Twitch平臺上,2015年E3游戲盛會中最高觀看人數達到84萬。在9月13日共和黨辯論時,直播觀看人數一度達到92.1萬。

在當前科技條件下,在直播領域,Facebook也是遙遙領先的。不容忽視的是,Facebook同時在進行著很多直播節目。

Facebook產品總監Chris Cox:

Wired中一篇文章援引Facebook產品總監Chris Cox的話,稱Facebook有超過100人的部門在負責直播(一開始只有不到12人,現在已經發展到擁有150個工程師)。

Facebook需要為數百萬個同時進行的直播提供服務而不出現故障,同時還要為觀看直播的數百萬個觀眾提供支持,而且還要處理不同設備和服務商之間流暢連接的問題。Cox說“這確實是個很棘手的技術問題,需要強大的基礎設施?!?/p>

大家是不是很好奇這些基礎設施的問題是如何解決的呢?

Facebook流量團隊的Federico Larumbe一直在研究一個超高速緩存軟件,可以為Facebook內容分發網絡和全球負載均衡系統提供動力,他做了一個精彩的演講。演講中他詳細介紹了直播是如何實現的。這篇演講確實非常精彩。

直播技術的起點

Facebook有一項新功能,就是允許用戶實時分享錄像視頻。直播服務開始于2015年4月,起初只有名人才能通過Mentions應用享受這一 服務,主要用于與他們的粉絲互動。隨后一年,這項服務產品得到了提升,產品協議也發生變化。他們開始借助流媒體和超文本傳輸直播,并得到了iPhone的 支持,允許他們使用CDN結構。與此同時,Facebook開始研究基于傳輸控制協議的實時消息傳送協議(RTMP,Real-Time Messaging Protacol),可以從手機傳送一條視頻直播或音頻直播至直播服務器。

優點:對于那些主播與看客來說,RTMP具有更低的風險。與傳統播放方式不同,人們在直播平臺上可以互相交流溝通。低風險低延遲,用戶體驗就得以提升。

缺點:因為原設備不是基于超文本傳輸協議的,所以需要一整套新的結構。新的實時消息傳送協議需要經過一段時間發展才能形成規模。

Facebook同時還研究MPEG-DAH (HTTP的動態自適應流媒體)

優點:和流媒體相比,它能節省15%的空間。

缺點:它對比特率要求較靈活。根據網絡吞吐量的不同,編碼質量也會出現差別。

直播的視頻是多種多樣的,而此引發的問題

直播會經歷西瓜式的流量模式:開始后會經過一個急劇上升的過程,幾分鐘以后,每秒就有超過100條請求,并且持續增長,直至直播結束,之后流量會急劇下降,換句話說,流量變化是非常劇烈的。

直播和一般的視頻節目不同,它會產生十分極端的流量模式。直播節目更能吸引人們的注意,因此通常觀看人數是普通視頻的3倍還多。動態消息中排在靠前 位置的直播通?;嵊懈噯斯劭?,而且關于直播的通知會通過每個頁面發給所有粉絲,這樣一來,觀看視頻的人數就會更多。 然而極端的流量會導致超高速緩存系統和全球負載平衡系統方面出現問題:

超高速緩存問題

在同一時間有很多人都可能想看直播視頻。這是經典的驚群效應問題。極端流量模式對超高速緩存系統施加了非常大的壓力。視頻被分解成一秒一秒的文件,當極端流量出現時,緩存這些文件的服務器就會出現超負荷問題。

全球負載均衡問題

Facebook在世界各地都有入網點,流量分布在世界各個國家。所以Facebook需要解決的問題是如何防止入網點超負荷。

整體架構

直播內容是如何傳送到數百萬觀眾那里的呢?主播在他們的手機中開始視頻直播。手機將一個RTMP流視頻發至直播服務器。服務器解碼視頻,然后轉碼成 多種比特率。接著,每一種比特率都產生一組一秒的MPEG-DASH片段。這些片段儲存在數據緩存處理中心,然后發送到入網點的緩存硬盤中。觀眾端就可以 收到直播節目,他們設備里的播放器以每秒一個的速度從入網點緩存中提取片段。

運作的原理是什么?

在數據緩存中心和眾多入網點緩存之間,存在一種乘法關系。用戶進入的是入網點緩存而非數據中心,這些入網點緩存是分布在世界各地的。

另一種乘法關系是在入網點內發生的。入網點有兩個層面:代理服務器層面和緩存層面。觀眾從代理服務器中發出提取片段的請求。服務器檢查緩存中是否存 在片段。如果有存在,片段就會發送給觀眾,如果沒有,這個請求就被發送至數據中心。不同的片段存放在不同的緩存硬盤中,這樣一來,不同的緩存主機之間就能 達到負荷均衡。

在驚群效應下?;な葜行?/strong>

如果所有的觀眾都在同一時間要求提取同一片段,會出現什么情況呢?如果該片段不在緩存中,每個觀眾的請求都會被送往數據中心,所以需要對數據中心進行?;?。

請求合并

通過將請求合并到入網點緩存中,請求的數量就會減少。只有第一個發出的請求會發往數據中心。其他的請求暫時不處理,直到第一個請求得到回復,然后數 據就會發往各個觀眾手里。現在代理服務器中又增加了緩存層,以防止出現熱服務器問題。如果所有有關的請求都被發往一個緩存主機,等待片段發回,這樣就可能 會使主機超負荷。

全球負載均衡解決方案

雖然數據中心得到了很好的?;?,防止出現驚群效應問題,但是入網點依然存在風險。直播流量可能太過巨大,以至于在入網點的負載檢測到達平衡之前就出現超負荷的情況。

每個入網點的服務器和連通性是有限的。如何能夠防止入網點出現超負荷的情況呢?一個名為Cartographer maps的系統可以很好地解決這一問題。它能測量每個網絡和入網點的延遲,即時延測量。每個用戶都被送往最近的入網點,每個入網點的負載都可以得到測量。 在服務器中有計數器來測量他們接受的負荷大小。這些計數器的數據匯集起來之后,我們就知道每個入網點的負荷了。

容量約束和減小風險的最優化問題

因為控制系統的關系,在測量和行動時會出現延遲。他們將負荷測量窗口從90秒改到3秒。這個問題的解決方案就是一定要在負荷發生前就預測出來。將一個容量估量器安置到其中,通過之前的負荷和當前負荷推斷出每個入網點的未來負荷。

估量器是如何預計負荷?如果當前負荷增長,它有下降的可能嗎?

三次樣條函數比線性插值函數能預測更多復雜的流量模式,我們運用三次樣條函數解決插值函數,先得出一階導數和二階導數。如果速度為正,負荷就上漲。如果加速度為負,意味著速度減小,最后減小為零。

避免震蕩

插值函數還可以解決震蕩問題。

測量和反應的延遲是因為數據過期,插值函數可以減少失誤,進行更準確預測,并且減少震蕩。如此一來,負荷就會更加接近容量目標。目前的預測是基于最后的三個間隔,每個間隔30秒,幾乎瞬間就超載了。

 

想獲得更多的用戶,請點擊鏈接:ASO優化服務介紹

本文作者@燈塔大數據 由(APP頂尖推廣)整理發布,轉載請注明作者信息及出處!

1

本文由運營大叔發布,不代表運營大叔立場,轉載聯系作者并注明出處://www.exjyiw.com.cn/16375.html

聯系我們

18205969981

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作日:9:30-18:30,節假日休息

QR code
三国麻将无双安卓 山东麻将免费下载258 能赚钱的音乐app有哪些 什么页游赚钱人民币快 久赢彩票网址 小庙可以万佛墙能赚钱 5开什么等级的好赚钱 哈尔滨17好友麻将外挂 红警共和国之辉秘籍 诚玩山西麻将下载安装 王者捕鱼官网客服 卖木莲冻赚钱吗 小地方开杂货铺赚钱吗 广发彩苹果 tc软件可以用来赚钱吗 网上赚钱的软件靠谱吗