秒拍遇見華為雲,輕盈得不止一點點

你有中短視頻的毒嗎?

放眼當下,無論是在城市樓宇之間,還是鄉鎮街頭,“低頭刷短視頻”的現象已經見怪不怪了,火爆的短視頻讓年輕人大呼“再刷就剁手”。在那些火爆的主流短視頻平臺中,秒拍就是其中的一分子。

2013年 8月,一下科技正式推出現象級爆款產品“秒拍”,並藉助新浪微博的獨家支持以及眾多明星大腕的入駐,迅速將用戶量級推至千萬級,開啟短視頻領域的第一次大爆發。目前日均覆蓋用數量已經達到7000萬,日均上次視頻達到220萬條,日均視頻播放量也已經達到30億次。

今年,為了提升秒拍內容推薦的精準性、用戶體驗和產品競爭力,秒拍決定與華為雲合作。而合作的第一步,就是將秒拍雲的部分業務遷移到了華為雲。但對於秒拍這種量級的企業而言,雲遷移就意味著大量的數據變更、系統兼容和架構重建雲,而且要保證業務能夠快速無縫地進行切換,讓最終用戶毫無感知的完成從虛機到容器的遷移,其實是有一定難度的。那麼在雲遷移過程中,秒拍是如何實現順利遷移的?華為雲又給秒拍提供了哪些幫助呢?秒拍架構師李東輝向我們給出了他的答案。

輕裝上陣,快速前進

新浪微博是當下實力最大的微博平臺,雖然微信、陌陌等社交應用在快速蔓延。仍是國內一大社交生態圈,可以為在線直播提供互動環節。從2013年至2017年的四年時間裡,秒拍是微博唯一的視頻入口,獨享微博資源。

由於與微博的關聯性很強,秒拍也具有明顯的媒體屬性。而這種屬性表現在秒拍上就是流量峰值的衝擊,尤其是微博中大量明星不定期的“官宣”,有段子稱其趙麗穎馮紹峰公佈了結婚的消息,號稱能承載“8個明星同時出軌”的微博移動端和PC端都崩了。突發流量相比於一直比較平穩的流量,對服務端的考驗更高,核心關注點還是在怎麼保障在這種時刻用戶都能得到良好的體驗。

其實,這種突發性的流量對秒拍架構在雲上的業務系統造成很大的衝擊,和微博的運維工程師類似,秒拍的小夥伴們也是“壓力山大”。而以往,秒拍的主要業務架構是部署在虛擬機上的,在擴容速度上有較大的提升空間,而且成本較高、擴展性待提升等問題。

事實證明,彈性擴容問題必須要得到解決才能承載更大的流量衝擊,那麼如何更好的解決呢?當下熱門的容器服務就具有啟動速度快、資源佔用小、運行效率高等特點,在應對突發性的大流量衝擊時也可以實現快速擴容。也就是說,除虛擬機之外,完全可以遷移到容器中進行提升。這樣看起來似乎很容易,但其實也是有諸多阻礙。

首先,秒拍有大量的用戶,那麼在遷移的過程中就需要解決用戶體驗和用戶數據丟包等問題,另一方面雲平臺的遷移會有很大兼容性問題的產生,如何降低單點依賴保持最大可能性的將業務內容完整遷移也是必須要跨過的鴻溝。


秒拍遇見華為雲,輕盈得不止一點點


而在經過了多次考量以及仔細的研討之後,華為雲成為了秒拍最終的選擇。據秒拍架構師李東輝介紹,一方面是看重了華為雲近年來迅速增長的市場表現,提供了諸多業界領先的技術和成熟的架構;另一方面則是因為華為“以客戶為中心”的理念,在實際遷移過程中,也正是華為雲提供的有力技術支撐和無微不至的服務,保證了遷移的順利完成。

腳步加速,收穫滿滿

在商業社會中,沒有平白無故的合作,只有合作共贏局面的開拓,顯然秒拍與華為雲的合作就是如此。


秒拍遇見華為雲,輕盈得不止一點點


事實上,秒拍之所以選擇遷移到華為雲,一方面是出於預防突發性流量的衝擊,另一方面也是為了將原有架構進行迭代,同時華為雲在AI領域的技術積累,也能幫助秒拍實時把握用戶喜好,實現內容的精準推送。

秒拍遇見華為雲,輕盈得不止一點點

雲遷移的主體是資源的遷移。在秒拍遷移到華為雲時,MC過去常用作臨時緩存,遷移時,建立MC連接後需要添加所有的服務器列表以及權重;

MQ主要用來解耦業務模塊,生產端生產一份數據,消費端可能有多個,遷移的話,需要先配置好資源的vhost,exechange還有queue,服務端先更新配置上線,數據寫入到新資源,消費端在舊資源消費完成後,切換到新資源的消費上。

Redis則是基於RDB快照,在新資源通過快照回放完成全量數據的遷移;DB遷移則相對容易,全量數據預先複製一份過去,增量數據獲取原平臺DB的權限,通過binlog同步到新數據庫;

ES主要服務的是APP以及Admin後臺,用戶、媒資等數據的搜索,數據源在DB,所以存量數據直接從DB拉一份進去,增量數據通過監聽DB更新,同步到ES裡。

同時,此次秒拍遷移到華為雲還涉及了大量的架構升級。在MC裡,往往存在偽批量存儲,可以利用Redis的Pipeline並行機制解決。在首頁的推薦內容裡,對推薦系統依賴過重,所以必要時需採用熔斷降級策略;即先把部分列表數據存儲到cache,一旦發生熔斷,就將數據從推薦系統讀取渠道直接切斷,轉從cache裡讀取返回給用戶,避免全盤崩潰。

負載均衡也發生了本質的轉變,秒拍此前的的負載均衡需要請求到VM和端口來實現;而在容器化後,下層掛載了Kubernetes集群,當請求達到節點後可以均衡到不同的容器之中。日誌和監控方面,通過在實例資源上部署agent定是收集CPU和內存的信息,巡檢線上資源和接口,也可以及時排除系統隱患。

整體平臺的底層核心存儲依然是在MySQL,其高可用性必須提供保障,目前採用的是主從與主備結合的形式,問題在於主機一旦故障就需要人工指定主機,因此需要設計雙機切換的模式。核心對主機狀態進行判斷和決策,也可引入中介角色完成這一工作,但風險在於中介的高可用性,目前比較成熟的中介解決方案有Zookeeper和Keepalived等。

握手即是未來

事實上,外界所不知的是,秒拍在遷移的過程中不僅面臨著技術上的問題,時間和實踐也都有不同的阻礙擋在前方。

據李東輝介紹稱,當時遷移的時間節點在夏天,華為雲派出了一個技術團隊駐紮在秒拍總部共同攻克技術難關。但由於工位有限,只能一群人擠在一個很熱的辦公室裡辦公。而為了照顧用戶體驗,遷移的流程也只能選擇在業務體量較低的凌晨進行。整個華為雲的小組與秒拍團隊共同克服了諸多難關,通宵達旦方才完成了整體的遷移流程。

秒拍遇見華為雲,輕盈得不止一點點

除此之外,雙方的合作還幫助秒拍將推薦算法進行了升級。秒拍通過與華為雲EI產品部合作,進一步提升了內容推薦的精準性和短視頻業務的差異化競爭力。而與之前相比,秒拍的視頻點擊率和人均觀看時長也得到提升,數據顯示,根據新的算法的用戶畫像,針對性的給予精準視頻推薦,最終使秒拍短視頻業務點擊率(CTR)平均提升20.01%,人均視頻觀看數平均提升10.42%,使秒拍抓住重點,構建差異化競爭力,為業務增長提供強大助力。

在採訪的最後,李東輝談到了與華為合作的收穫,他認為衡量一個合作是否成功的標準一定是看是否對雙方都有利。對秒拍來講,他們實現了一次良好的技術體系迭代升級,提升了用戶體驗,增強了用戶黏性。而對華為雲來講,他們的技術實力得到了客戶的認可,也進一步打開了互聯網市場的局面,實現了雙贏。

攜手華為雲,秒拍視頻更平穩、高效的開啟“智能化”進程,實現業務加速發展。對於整個短視頻行業,如何更從容應對業務量爆發增長下的挑戰從而實現更好的發展,“雲+AI”是最好的選擇之一。


分享到:


相關文章: