close

Facebook Live的擴展之道

2017年4月18日和19日,Facebook在San Jose召開瞭一年一度的F台中產後照護推薦8大會,本次大會通過Facebook Live進行瞭直播。Designing for Scale的博主Wissam Abirached通過Facebook Live觀看瞭這屆F8大會,他對Facebook Live是如何擴展以支持F8的這個問題產生瞭十分濃厚的興趣,因此撰寫瞭一篇名為《How Facebook Live Scales》的文章,由此也引出瞭Facebook Live的很多細節。

早在2015年底,Facebook的工程師就在《Under the hood: Broadcasting live video to millions》一文中介紹瞭Faceook Live的一些細節。Facebook擁有龐大的用戶群,在面對流量尖刺的同時,還要盡可能降低延時以帶來更強的參與感,他們遇到瞭什麼問題,又是如何解決的呢?

首先是 驚群問題 (Thundering Herd Problem),它會造成延時、丟幀,甚至是掉線,為瞭避免直播流服務器(Live Stream Server)被大量請求沖垮,Facebook構建瞭由直播流服務器、源服務器(Origin Server)和邊緣緩存(Edge Cache)組成的三層結構。用戶訪問最近的邊緣緩存,邊緣緩存負責回源,源服務器向直播流服務器取得實際的內容。

Facebook的Arun Moorthy在《Connecting the World: A look inside Facebook s Networking Infrastructure》中對Facebook的全球節點做過介紹,數據中心主要在北美和歐洲,而邊緣節點更是幾乎遍佈全球(除瞭南北極),加之還有自己定制的服務器、機櫃與網絡結構。在這樣的基礎設施支持下,Facebook Live的服務器能盡可能地靠近用戶。

如果某個邊緣緩存負載過高,負載均衡器會將請求重定向到離該節點最近的另一個尚可提供服務的邊緣緩存上,負載均衡器能夠預測目標節點的負載情況,這是一個非常實用的功能。

在這種情況下,仍然會有1.8%的請求透過邊緣緩存落到源服務器上,在海量請求下,1.8%也是一個很大的數字。為瞭應對這個問題,邊緣緩存隻會讓第一個請求回源,其他的相同請求則放在一個隊列中,等第一個請求的結果返回瞭,它們也就不用再回源瞭。源服務器上也有類似的請求合並回源處理機制。Wissam Abirached在文章中提到,如果使用Nginx,可以將proxy_cache_lock設置為on開啟請求合並功能。

另一方面,為瞭讓直播的感受更加台中產後護理中心推薦實時,Facebook使用RTMP流協議每隔2到3秒就傳輸一次數據,RTMP通過播放器與服務端的TCP長連接將音頻與視頻數據連續不斷地推送給用戶。在RTMP中,音頻流與視頻流是分開的,但都以4KB為單位,推模式與小數據塊的結合,大大降低瞭延時,給用戶帶來更流暢的體驗。

值得一提的是,國內的一些直播服務提供商也擁有與Facebook類似的架構,針對海量請求做瞭各種優化,可以說不亞於Facebook。比如,七牛雲白順龍的《移動CDN及直播性能優化》(這篇《台中產後護理之家介紹七牛直播雲性能優化實踐》博客的內容也是一樣的),又拍雲黃慧攀的《雲直播系統架構與實施》,兩者都提到瞭類似Facebook的多層服務器結構和網絡智能調度系統(可能大傢在節點部署上略有不同,畢竟服務的目標更多是在國內),能夠在極大程度上保證用戶的體驗。大傢也都對直播常用的協議進行瞭說明,介紹瞭RTMP、HLS和HTTP-FLV,以及它們分別適用的場景,在各自系統中的位置。

此外,上述兩個演講中還提到瞭一些其他的優化,比如GOP緩存的權衡、多碼率支持和HTTP-DNS等等,相信Facebook也有類似的處理。

如果您對Facebook Live的更多細節感興趣,可以看看Facebook的Federico Larumbe在@Scale 2016上的這個演講。在直播盛行的今天,相信一定有很多讀者從事直播相關的工作,也歡迎大傢分享自己的直播系統優化經驗。

本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2017-05/143582.htm

看來微軟短時間內不台中產後護理機構推薦台中產後之家推薦會出 Surface Pro 5 瞭

Web服務器之爭:Nginx達到33.3%,而Apache則衰落至不足50%

台灣電動床工廠 電動床

台灣電動床工廠 電動床

AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋

AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots

arrow
arrow

    dpghir25g 發表在 痞客邦 留言(0) 人氣()