專訪融雲 VP 岑裕:複雜場景下,如何解放開發者?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"採訪嘉賓 | 岑裕"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"編輯 | 閆園園"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"今年年初,語音社交軟件 Clubhouse 突然風靡全球,短短數週內,各行各業名人和意見領袖湧入,一時間一碼難求。不僅如此,Clubhouse 還一同帶火了音頻社交概念,基於語聊而衍生的多種社交玩法也層出不窮。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"究其背後原因,主要因爲疫情的影響,人們足不出戶,刺激了各類網絡社交、影音娛樂、遠程辦公、在線教育、遠程醫療等需求的大爆發。人們把生活中熟悉的一幕幕,搬上了虛擬社交的“雲平臺”,形成了雲辦公、雲服務、雲娛樂、雲聚會等雲社交的新場景。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有史以來第一次,無論是 IM 還是 RTC,都開始進入以多樣化場景應用爲主題的新時代。但不同場景對通信技術的要求不同,帶來的技術挑戰也不同,需要的技術方案也不同。作爲開發者,該如何瞭解即時通信領域的全新技術趨勢,掌握相關技術棧呢?帶着這個問題,InfoQ 特別採訪了融雲技術 VP 岑裕。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"場景抽象:如何用四個人開發五天,上線語聊房業務"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在新場景方面,一方面,疫情的推動,加速了各領域應用的線上化。另一方面, 無論是行業應用市場還是互聯網市場,都出現了線上政務、遠程庭審、無接觸金融服務等多個新場景。誠然,場景的日趨多樣化和複雜化加速了通信行業的發展,但在行業高速發展過程中,不可避免的對開發者的各項能力也提出了考驗。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在常規場景化解決方案下,行業經歷了兩個發展階段:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一階段是利用後端開源代碼加前端開源代碼做二次開發,難度大,學習成本高;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二階段只需在前端做二次開發,少了一端的接入,但對於開發者來說仍然需要學習底層知識,"},{"type":"text","marks":[{"type":"strong"}],"text":"“技術雖談不上多複雜,但是開發人員會花費大量時間在理解實時音視頻的相關概念上,這大大降低了開發效率。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此,在今年 6 月,融雲上線了語聊房 SDK 1.0,讓開發者可以快速搭建一個語聊房。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有多“快”?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"岑裕給我們舉了一個例子:"},{"type":"text","marks":[{"type":"strong"}],"text":"“我們的某個客戶團隊,研發人員大概 3-4 人左右,在使用語聊房 SDK 的情況下,大概用了五天上線了這部分業務,而在我們沒有推出語聊房 SDK 之前,另一個客戶團隊,研發人員 20-30 人左右,用 RTC 底層去集成,大概用了 20 天左右。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前單一形式的社交 APP 並不多,多數情況下都會加入語聊房的相關場景,基於用戶的需求以及行業研究,融雲推出了語聊房場景 SDK。場景化 SDK 方案大大降低了開發者的開發難度和學習難度,提高了開發效率,也直接推動行業進入了新的發展階段,“此外,我們還推出了直播 SDK、呼叫 SDK,並將在未來推出更多熱門場景 SDK,不斷豐富場景化 SDK 的覆蓋面。”岑裕向我們透漏。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"體驗使用場景化SDK搭建語聊房等互動社交場景可掃描下方二維碼。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/59\/26\/59d8d6f273ebcaf6a68929493c658626.jpg","alt":null,"title":"","style":[{"key":"width","value":"100%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"技術挑戰:如何突破直播場景的人數限制及首幀體驗"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除了對全新場景做抽象,儘可能地服務開發者,降低開發成本。IM\/RTC 服務場景的更迭,也將高併發問題再次提到了開發者的案頭前。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對高併發支撐能力,比較“極端”的展示,是融雲的“無觀衆上限”互動直播服務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通常“無上限”服務只是個象徵性的表述,即便是大型的公有云服務商,也無法真正實現“無限擴容、無限彈性”。對於 IM\/RTC 行業而言,“無上限”服務更是個嚇人的承諾,因爲直播間不僅要承受與不同終端之間的 TCP 連接,還要支撐海量的彈幕轉發服務、海量的禮物效果轉發服務,可能要在信令控制層面同時控制幾千萬人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前段時間,某香港明星出道 40 週年直播,抖音直播間觀看人次破億。此外,岑裕也爲我們舉了一個例子:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“最近,我們支撐了客戶的一場直播,大概幾百萬人的級別。4 個小時之內,我們分發了 1900 億條消息。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"支撐此類高併發直播,實現“無觀衆上限”互動直播的關鍵在於兩點:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、消息分發的機制和控制:說白了,就是實現消息分級體系,在融雲被稱爲消息“白名單”。舉個例子,禮物信息一般要全數分發,因爲貴重禮物對用戶身份的體現,本來就是直播業務的核心運營價值之一;相反,彈幕的分發是有選擇的,一個觀衆不太可能在手機屏幕上同時閱讀上千條彈幕,所以也沒必要實現全量分發;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、音視頻處理:音頻和視頻的處理分發有兩種處理策略,一種是追求實時性和交互的靈活度,這種一般採用分流分發的模式;一種是在實時性和帶寬之間進行折中,進行合流分發。在業內,前者和後者的技術方案分別叫 SFU 和 MCU,在近些年的 RTC 低延遲直播,會將兩者結合起來用,比如合完流再推送給主播。但是近來由於疫情推動,超大會議室和小班課、語聊房等場景下,進一步模糊了兩者的技術邊界。音頻的部分,除了分流全分發和合流完再分發,還可以在服務上,對所有上行音頻的音量進行逐節點權重選路再分發,兼顧實時性和帶寬。視頻的部分,常用的合流分發會帶來一定的延遲,分流分發交互更靈活和延遲較高,但是人數多時帶寬佔用會較大。在直播時,這兩種模式可以一起使用,並支持隨意切換。在分屏較多時,通過提前訂閱,翻頁顯示幾乎無延遲;通過鏈路複用和內容分層,跳頁顯示延遲在 200ms 以內。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除此之外,"},{"type":"text","marks":[{"type":"strong"}],"text":"直播首幀顯示也是重要用戶體驗指標之一,也是作爲開發者需要重點關注的點。"},{"type":"text","text":"融雲提供的低延遲互動直播是基於 RTC 技術做的直播推流,它不依賴 CDN 推流,首幀顯示上延遲在 300ms 左右。“首幀顯示這件事我們同樣分爲幾個維度來做。”融雲技術 VP 岑裕向大家介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一,鏈路層面。在保證全球覆蓋的前提下,融雲結合所有運營商接入節點、客戶端物理特性等,幫助用戶在第一時間選擇到最正確的鏈路,這也是基於融雲歷史數據不斷去學習的過程;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二,音頻和視頻的對齊。針對在不同情況下進行音頻首先下發,包括提前多少,視頻如何跟隨調整以及調配鏈路首幀比例,融雲會針對不同場景相應做策略上的調整;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三,首幀 buffer 的設計。傳統 CDN 鏈路涉及直播地址分發、GOP buffer 數據請求等一系列耗時操作,無法滿足用戶對於“打開一個直播,希望立即加載出視頻畫面”的需求。融雲在 RTC 技術上實現了客戶端動態緩存,並配合服務端對關鍵幀請求處理,把 buffer 變成靜態加動態的過程。但關鍵幀請求過程會對網絡有一定壓力,所以在此過程中,融雲又對關鍵幀請求做一定的限頻,和靜態的 buffer 配合形成動態的首幀 GOP buffer 緩存,從而提高首開效率;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第四,針對不同客戶場景提供不同方案。融雲在服務器端提供大小流或者是分層編碼方案,針對不同客戶場景提供不同選項,從而保證客戶依據自己的業務情況選擇不同的解決方案;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第五,首幀數據監控。融雲打造了一套完整的體系監控全球網絡首開的質量以及具體數據情況,並依據數據情況針對不同地區網絡情況進行優化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當然,支撐高併發直播的“內功”,還是分佈式架構的設計、分佈式事務的處理能力。作爲 IM\/RTC 服務提供者,還是要優先保證自身基礎設施不被流量壓垮,纔有餘力考慮消息的分級、合併、渲染和分發。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"WICC 與通信雲的未來"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"服務開發者,除了提供高標準的技術方案以外,融雲也在探索更多形式,全球互聯網通信雲大會(WICC) 便是其中之一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"聊到 WICC,岑裕表示“舉辦 WICC 的初衷是,我們希望爲開發者提供一個平臺來和大家交流,幫助他們看清通信技術的發展的趨勢。”同時,他還爲大家介紹,每屆大會都會爲大家帶來技術分享,在剛剛過去的廣州站,WICC 爲各位開發者設立了兩場技術分論壇:“社交分論壇”、“出海分論壇”,是對以上場景化趨勢的實踐解讀。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在社交分論壇中,融雲場景化研發負責人臧其龍帶來《融雲社交場景化 SDK 探索》主題演講,介紹了融雲社交場景化 SDK 的發展規劃;積目風控負責人徐銘帶來了《陌生人社交生態治理實踐》主題演講,介紹了積目在對抗網絡詐騙類黑產中的防控思路與實踐經驗;StarMaker 廣州研發負責人林瑞羣帶來了《StarMaker 音視頻直播架構演進之路》主題演講,從後端架構、海外 CDN、直播協議等方面爲直播行業開發者提供了自己的經驗。對於身在社交場景的開發者而言,該場分享是必聽的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在出海分論壇中,荔枝運維總監熊振帶來《全球化業務基礎設施建設》主題演講,分享了出海業務在基礎設施上的技術難點,併爲各位開發者帶來了解決方案建議;阿里雲智能視頻雲高級技術專家鄒娟帶來《面向全球競爭,阿里雲視頻雲的最佳技術實踐》主題演講,分享了阿里雲視頻雲的演進路線與技術架構;LiveMe 技術總監鄒義鵬帶來《跨境支付體系的演進之路》主題演講,分享了跨境支付體系的搭建實踐過程,並給予各位開發者實際案例講解。出海基礎設施層和架構層涉及的問題比較多,這一場分享可以讓音視頻領域開發者補充自身技術棧。(關注融雲公衆號:RongCloud2014,回覆 WICC,可以領取現場講師PPT和直播回看鏈接)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"兩個分論壇都覆蓋了當下通信雲最前沿的技術知識,某種意義上,也向開發者描繪了行業未來的整體趨勢。談及通信雲的未來,“我們目前看到的場景中的需求,我認爲還是在 4G 或者說 4G 末期積累下來的,至於 5G 下應該如何走,我覺得大家都還處於探索階段。”岑裕說道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對此,融雲也針對行業目前的現狀提出了應對挑戰的發展規劃:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第一,在技術趨勢探索方面,融雲將不斷挖掘新的場景下的需求,通過和相關前沿技術廠家合作等方式來不斷滿足新場景下的新需求,爲開發者減負賦能;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二,在推動整個行業方面,融雲將不斷總結自己的通信雲領域經驗,並將經驗傳遞給整個行業。具體包括:未來將會與產學研界加深合作,進一步明確、推進相關行業標準的建設工作;支持、推進WICC等行業各類主題峯會的開展;同時將加強技術社區建設,逐步推動完善行業生態。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章