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

每日數(shù)億視頻播放量,秒拍播放鏈路優(yōu)化實踐

原創(chuàng)
開發(fā) 項目管理 移動開發(fā)
賈朝藤于2014年加入秒拍,推進(jìn)了秒拍上云,可視化日志分析,基礎(chǔ)架構(gòu)改造和服務(wù)化改造、服務(wù)調(diào)優(yōu)等工作。并熱衷各種基礎(chǔ)設(shè)施實踐,性能調(diào)優(yōu),高并發(fā)場景下服務(wù)全鏈路的可用性保障。從他的分享中,我們可以了解到秒拍在播放鏈路方面的優(yōu)化實踐。

【51CTO.com原創(chuàng)稿件】當(dāng)前,我們正處于信息飛速發(fā)展的碎片化閱讀時代,綜合圖文優(yōu)勢的短視頻越來越受到大眾青睞。2017年,各大互聯(lián)網(wǎng)巨頭陸續(xù)進(jìn)軍短視頻領(lǐng)域,短視頻的火爆超出很多人的預(yù)期。短視頻真正較量的是內(nèi)容和用戶體驗。一下科技旗下的秒拍和小咖秀作為短視頻行業(yè)的先行者,截至目前,日播放量峰值突破30億次,日上傳量峰值達(dá)200萬。它們是如何做到用戶體驗不受上傳和播放質(zhì)量影響的呢?

近日,51CTO 以“Tech Neo”為主題的技術(shù)沙龍第十五期在北京舉行,此次活動邀請了來自一下科技的架構(gòu)師賈朝藤。他于2014年加入秒拍,推進(jìn)了秒拍上云,可視化日志分析,基礎(chǔ)架構(gòu)改造和服務(wù)化改造、服務(wù)調(diào)優(yōu)等工作。并熱衷各種基礎(chǔ)設(shè)施實踐,性能調(diào)優(yōu),高并發(fā)場景下服務(wù)全鏈路的可用性保障。從他的分享中,我們可以了解到秒拍在播放鏈路方面的優(yōu)化實踐。

秒拍后端服務(wù)的技術(shù)架構(gòu)

我們先來看看秒拍后端服務(wù)基本的技術(shù)架構(gòu),從上至下分為四層,如下圖所示:

最上層是Web、APP及微博和其他合作方的合作。它們直接面向用戶,為用戶提供最直接的產(chǎn)品服務(wù)。

第二層是直接面向服務(wù)的業(yè)務(wù)邏輯API,提供活動和視頻列表、用戶列表等直觀體現(xiàn)產(chǎn)品和業(yè)務(wù)邏輯的數(shù)據(jù)展現(xiàn)。

第三層是用戶、視頻等一系列細(xì)分、相對獨立于業(yè)務(wù)邏輯的服務(wù)。

第四層是基礎(chǔ)服務(wù),如關(guān)系服務(wù)、計數(shù)服務(wù)、搜索服務(wù)、Push服務(wù)、推薦服務(wù)、敏感詞過濾服務(wù)、Feed、存儲等。

在整個服務(wù)流程中,上傳和播放是很核心的業(yè)務(wù)。如下圖,是播放之前資源上傳的流程

  • 由客戶端向業(yè)務(wù)邏輯服務(wù)器發(fā)出上傳申請,業(yè)務(wù)邏輯服務(wù)器告知采用哪個上傳點進(jìn)行上傳。
  • 七?;蛐吕薙3分別負(fù)責(zé)存儲上傳的分片,再由上傳端請求合并,由業(yè)務(wù)服務(wù)器接收視頻傳完之后的回調(diào),進(jìn)行狀態(tài)的更新,此時整個視頻從物理資源到業(yè)務(wù)狀態(tài)處理完畢。
  • 緊接著進(jìn)行轉(zhuǎn)碼和截圖處理,進(jìn)入上傳后的服務(wù)處理流程。

其中,存儲主要是依賴第三方,視頻截圖、視頻轉(zhuǎn)碼等服務(wù)主要采用自研服務(wù)。

這里值得注意的是,資源上傳過程中需要做很多優(yōu)化。

當(dāng)前,手機端的功能很強大,足以支撐用戶隨意預(yù)覽,更換各種特效。比如特效的預(yù)覽,將視頻特效編輯和預(yù)覽放到手機端進(jìn)行,一方面客戶可以直觀體驗視頻效果,另一方面可以充分利用客戶端運算資源,減少服務(wù)轉(zhuǎn)碼的處理壓力。還有視頻拍攝與編輯完后的轉(zhuǎn)碼壓縮,也會在客戶端做初步處理,再向業(yè)務(wù)服務(wù)器上傳,然后轉(zhuǎn)碼服務(wù)再做二次處理,借此來進(jìn)行視頻文件瘦身,降低用戶流量消耗,提升用戶上傳速度。

在視頻生產(chǎn)端,我們有對拍攝、編輯、客戶端轉(zhuǎn)碼、上傳進(jìn)行打點上報等相關(guān)統(tǒng)計,用于對生產(chǎn)端各環(huán)節(jié)的效率監(jiān)測,推進(jìn)各環(huán)節(jié)不斷優(yōu)化,以及每個環(huán)節(jié)優(yōu)化后從數(shù)據(jù)上可見的效果改進(jìn)。

播放&調(diào)度歷史演進(jìn)

綜上是播放之前資源上傳的一些優(yōu)化方式方法,接下來,我們來聊聊播放&調(diào)度。秒拍的播放&調(diào)度共經(jīng)歷了三個比較大的版本:

業(yè)務(wù)邏輯直接返回播放地址,是播放流程最簡化版

這也是最初的版本,在業(yè)務(wù)上線初期,從視頻上傳量到播放量都處于積累期,上傳和播放效率是我們比較關(guān)心的問題,但當(dāng)前***的痛點是產(chǎn)品形態(tài)必須符合市場需求。這一版主要是由客戶端直接請求業(yè)務(wù)API返回的視頻資源地址,基于HTTP協(xié)議,下載之后直接播放。

基于探測點,CDN日志離線計算CDN質(zhì)量,調(diào)度切量,是播放流程的進(jìn)化版

隨著業(yè)務(wù)發(fā)展,視頻日上傳量和播放量越來越大,播放效率變得尤為重要,因為會直接影響到用戶對產(chǎn)品的體驗。

這時,我們新增了不同地域加探測點探測播放及下載質(zhì)量,采集數(shù)據(jù)點進(jìn)行質(zhì)量分發(fā),同時我們也會拿來CDN的下載請求日志進(jìn)行分析和調(diào)度,這一版調(diào)度由離線運算判斷***結(jié)果,然后業(yè)務(wù)邏輯API返回播放地址,客戶端直接進(jìn)行播放。

第三版是獨立調(diào)度服務(wù),實時+離線判斷播放質(zhì)量,進(jìn)行調(diào)度。

基于上一版的研究,我們基于Nginx+Lua抽出來相對獨立的調(diào)度服務(wù),非常輕的處理邏輯,采集端上的播放質(zhì)量,對用戶所處省、市、地區(qū)、運營商的不同家CDN質(zhì)量進(jìn)行比對,然后給用戶最終***的CDN地址。

除播放質(zhì)量外,還會采集失敗率、播放量之類的一系列參數(shù)和指標(biāo),進(jìn)行分析或故障快速恢復(fù)、轉(zhuǎn)移,防止合作CDN廠商的節(jié)點負(fù)載過高,對播放速度造成影響。

另外調(diào)度服務(wù)還會做一些業(yè)務(wù)策略上的處理,比如涉嫌違規(guī)的視頻,在返回播放地址時做出判斷,同時刪除源站視頻及清理CDN緩存。

進(jìn)化版還在自有IP庫及IP庫數(shù)據(jù)更新維護(hù)、防劫持與數(shù)據(jù)上報&日志分析等方面進(jìn)行了迭代調(diào)優(yōu)。

如下,是當(dāng)前秒拍正在使用的調(diào)度系統(tǒng)簡化圖

在播放調(diào)度方面,我們與多家CDN廠商合作,進(jìn)行質(zhì)量調(diào)度,實現(xiàn)快速接入,進(jìn)而達(dá)到快速返回、弱業(yè)務(wù)邏輯、輕量,高效、靈活可控。

不可預(yù)測的黑天鵝

在業(yè)務(wù)發(fā)展和服務(wù)演進(jìn)過程中一定會遇到不可預(yù)測的黑天鵝,如業(yè)務(wù)內(nèi)網(wǎng)中斷,七牛寧波光纖被挖斷等。

為了避免源站出故障影響服務(wù)的正常進(jìn)行,我們采用了多個源站方案,當(dāng)某源站出現(xiàn)問題,可隨時進(jìn)行切換,同時各源站之間能夠?qū)崿F(xiàn)跨源站備份。

在上傳方面,也布設(shè)了多上傳點,靈活分配上傳點,保證用戶可以正常上傳。

在播放方面,對服務(wù)進(jìn)行可用性檢測,更及時地調(diào)度節(jié)點反饋。對于播放質(zhì)量調(diào)度,可根據(jù)質(zhì)量服務(wù),調(diào)用***的CDN。

海量日志分析和監(jiān)控

秒拍日志的構(gòu)成主要有:serveraccess log、error log、service log、app log、用戶 log 等。

傳統(tǒng)日志分析的痛點有以下幾方面:

  • 日志量太大、單日志分析太慢、日志分布在不同服務(wù)集群、不同節(jié)點無法快速定位服務(wù)節(jié)點。
  • 上下游狀態(tài)不可知、定位問題、場景分析效率太低。
  • 故障之后驚群效應(yīng)、一處反饋、多個組(部門)響應(yīng)排查、耗費精力。

針對傳統(tǒng)日志分析的痛點,秒拍布設(shè)了實時日志分析系統(tǒng),如下圖是部分細(xì)節(jié)展示:

ELK實時日志分析系統(tǒng)的主要作用是,當(dāng)業(yè)務(wù)日志進(jìn)來之后可以直接對其進(jìn)行分析,以圖表化的方式,快速反饋各項服務(wù)狀態(tài)和一些統(tǒng)計信息。當(dāng)出現(xiàn)問題時可快速感知,同時還有基于ELK的服務(wù)監(jiān)控。

結(jié)合ELK,系統(tǒng)整合內(nèi)部監(jiān)控與告警平臺,實現(xiàn)整個視頻拍攝、編輯、上傳、轉(zhuǎn)碼、分發(fā)、播放的可視化指標(biāo)對比,保證整個鏈路的效率,與對相關(guān)metric的實時告警,保證服務(wù)的穩(wěn)定性與可用性。

播放業(yè)務(wù)不可缺少的一環(huán)

視頻和圖片在編碼、轉(zhuǎn)碼的質(zhì)量,對播放會產(chǎn)生直接的影響。轉(zhuǎn)碼服務(wù)是播放業(yè)務(wù)不可缺少的一環(huán),如下圖是整個轉(zhuǎn)碼服務(wù)的流程圖

當(dāng)用戶上傳視頻之后,不同業(yè)務(wù)端會通過在線或離線的方式提交轉(zhuǎn)碼任務(wù),由轉(zhuǎn)碼服務(wù)進(jìn)行異步轉(zhuǎn)碼,轉(zhuǎn)出不同規(guī)格的視頻或封面,提供給不同的合作方、不同的列表頁形態(tài)下進(jìn)行展示。

視頻規(guī)格有多碼流、16:9、webp、隱水印等,轉(zhuǎn)碼過程要在不影響視頻清晰度、視頻質(zhì)量的同時把文件大小、碼率等參數(shù)控制在***。這樣一來,從流量、加載速度等方面都可以持續(xù)調(diào)優(yōu),讓用戶流暢清晰地看視頻,也能節(jié)省很多流量。

在多碼流這一塊,秒拍采用了變碼率方案,根據(jù)視頻內(nèi)容去適配碼率,來控制視頻編碼。

寫在***:

秒拍于2013年8月上線發(fā)展至今,占領(lǐng)了一定的國內(nèi)市場。在未來,秒拍會在數(shù)據(jù)節(jié)點上發(fā)力,進(jìn)行異地多活的部署、會針對云廠商不可依賴,會隱藏很多數(shù)據(jù)信息,出現(xiàn)問題不好查找源頭的問題,考慮混合云的改造、還會對自建 CDN 節(jié)點的融入、災(zāi)備建設(shè)和監(jiān)控統(tǒng)計等方面進(jìn)行完善。當(dāng)前,短視頻競爭日趨激烈的局面下,希望秒拍在未來的日子里不斷突破創(chuàng)新,越走越遠(yuǎn)。讓我們共同期待高速成長的短視頻行業(yè)未來樣子。

【嘉賓簡介】

 [[207669]]

賈朝藤,下科技(秒拍、小咖秀、一直播)架構(gòu)師。2014年加入秒拍,推進(jìn)秒拍上云,可視化日志分析,基礎(chǔ)架構(gòu)改造和服務(wù)化改造,服務(wù)調(diào)優(yōu)。熱衷各種基礎(chǔ)設(shè)施實踐,性能調(diào)優(yōu),高并發(fā)場景下服務(wù)全鏈路可用性保障。

沙龍其他講師文章

徹底透視CDN痛點,互聯(lián)網(wǎng)老兵聊聊CDN的那些事兒!

給高并發(fā)降溫,美團(tuán)高性能、高可靠四層負(fù)載均衡MGW優(yōu)化實踐

10 月 28 日 / 北京,第十六期“Tech Neo”沙龍,主題:“自動化運維與 DevOps”,點擊圖片,立即報名。

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

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

2017-07-03 09:05:17

高性能視頻調(diào)度

2017-03-29 14:38:05

高可用視頻調(diào)度秒拍

2013-01-08 11:00:06

YouTubeAJAXCSS

2017-05-02 09:12:20

QQ空間

2016-03-25 14:10:21

又拍云場景化CDN

2021-06-27 17:42:35

全鏈路

2021-12-31 07:27:12

阿里UC音視頻

2011-08-10 15:58:58

iPhone視頻

2014-10-20 09:55:02

2022-08-16 17:37:06

視頻播放器鴻蒙

2024-03-14 08:24:25

MediaCodec解碼播放Android

2013-07-01 10:53:05

2020-03-10 10:43:21

機器學(xué)習(xí)人工智能計算機

2011-07-20 16:21:20

iPhone 視頻 播放器

2011-08-17 14:57:31

iPhone應(yīng)用視頻播放

2010-06-03 14:53:58

SmokescreenHTML 5Flash

2015-05-21 15:25:42

VLC播放器

2021-01-12 10:58:04

Web視頻播

2022-04-14 18:01:24

QUICTrip.com服務(wù)端

2021-10-18 14:57:25

鴻蒙HarmonyOS應(yīng)用
點贊
收藏

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