當(dāng)前位置:首頁 >  IDC >  云計算 >  正文

「融云分析」可擴展的公有云媒體服務(wù)設(shè)計解析

 2019-10-23 16:45  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

編者按:作為互聯(lián)網(wǎng)通信云服務(wù)商,除了滿足最基本的音視頻數(shù)據(jù)實時傳輸需求外,還會需要提供很多個性化的云端服務(wù)。本文來自融云的聯(lián)合創(chuàng)始人兼 CTO 楊攀在 LiveVideoStackCon2019 北京站上的精彩分享,結(jié)合融云去中心化的媒體服務(wù)架構(gòu),解析如何構(gòu)建靈活的、可擴展的音視頻通訊云服務(wù)。

大家好,我是融云的聯(lián)合創(chuàng)始人兼 CTO 楊攀,本次我分享的主題是融云在公有云媒體服務(wù)設(shè)計的理念和思路。

我是從2002年參加工作,至今已經(jīng)十七年,其中有十五年的時間都是在做關(guān)于 IM 的工作。2004年時我加入了 MSN,作為 MSN 進中國第一個落地的本地化服務(wù),我在其中擔(dān)任項目負責(zé)人的工作。2008年到2014年間我都在從事與飛信相關(guān)的工作,經(jīng)歷了飛信從一個非常小的業(yè)務(wù)成長為數(shù)億級規(guī)模的水平。2014年后隨著云服務(wù)的興起,我與團隊創(chuàng)立了融云,將即時通訊與云服務(wù)結(jié)合提供給開發(fā)者,讓開發(fā)者可以通過調(diào)用 SDK 使用 IM 服務(wù)。

本次演講將分為設(shè)計概述、媒體服務(wù)、能力服務(wù)、服務(wù)集群和服務(wù)網(wǎng)絡(luò)五個部分展開。

1. 設(shè)計理念

融云是一家互聯(lián)網(wǎng)通信云服務(wù)商,眾所周知,要想做基本的音視頻服務(wù),首先你需要具備信令服務(wù)、能力服務(wù)和媒體服務(wù)這三種能力,這些能力都基于 WebRTC 技術(shù),但 WebRTC 本身的定義是 P2P 的通訊,它本身并沒有服務(wù)部分,在服務(wù)部分有很多開源的實現(xiàn)解決方案。其次 WebRTC 也沒有定義信令服務(wù)的部分,很多廠家都是通過自己開發(fā)或采用第三方信令的方式來解決這個問題。信令其實就是一個長鏈接的通信通道,它與 IM 即時通訊其實是一樣的,融云也有案例說明客戶可以采用融云的公有云即時通訊解決方案來滿足信令服務(wù)的需求。隨著基礎(chǔ)通信能力達到要求之后,又不斷引入新的需求,比如對音視頻內(nèi)容的審核、更大規(guī)模的使用WebRTC技術(shù)替代直播平臺的解決方案,這也就引入了類服務(wù)這樣新的功能。融云即時通訊業(yè)務(wù)的設(shè)計理念是各司其職、避免依賴,核心服務(wù)專注通信,能力服務(wù)專注業(yè)務(wù),只要做到這一點,系統(tǒng)就可以實現(xiàn)部署簡單和運維方便,降低管理的成本。另外融云作為全球互聯(lián)網(wǎng)通信云服務(wù)提供商,在設(shè)計之初就不可避免要考慮全球互聯(lián)的問題,全球互聯(lián)的架構(gòu)與私有架構(gòu)的不同需要充分照顧到。

2. 媒體服務(wù)

2.1 媒體服務(wù)基礎(chǔ)能力

首先從三大能力中的媒體服務(wù)能力談起,融云團隊一般都稱之為"三無服務(wù)","三無"是指一個媒體服務(wù)對其他的服務(wù)沒有依賴,其他的服務(wù)對這個媒體服務(wù)自身也沒有依賴,并且每個服務(wù)沒有任何中心化的配置。根據(jù)工作中的經(jīng)驗,無論是在公有云、私有云還是混合云環(huán)境中,會面臨要部署的環(huán)境和客戶端的環(huán)境都非常復(fù)雜的情況,比如用戶會在防火墻后或者服務(wù)器本身就在防火墻里面,遇到這些情況,融云采用端口收斂的方式進行通信的策略控制,這都是需要在設(shè)計之初就做到的事情。

另外融云還實現(xiàn)了兩個實時通信場景,第一個場景是絕大多基礎(chǔ)音視頻廠商都能做到的二人 P2P 會話,第二個場景是多人視頻會議,在這個場景中人數(shù)一般會在十人以上。隨著業(yè)務(wù)的發(fā)展,大家都能感覺到一個技術(shù)趨勢:用 WebRTC 的方式做直播,傳統(tǒng)的直播是將客戶端的流在服務(wù)端處理之后推給 CDN,最后由 CDN 進行分發(fā),這樣做的好處是利用 CDN 的基礎(chǔ)架構(gòu)可以實現(xiàn)大規(guī)模用戶在一個房間收看直播,這是 CDN 技術(shù)特點所帶來的優(yōu)勢,但同時 CDN 也存在著一些問題,比如首屏開屏的速度過慢,當(dāng)然目前針對這個問題也有著各式各樣的解決方案。有些客戶在這基礎(chǔ)上就會提出能否使用 WebRTC 來實現(xiàn)直播場景,業(yè)內(nèi)也稱這種方案為低延遲直播,由于延遲比較低,在直播中的互動也會更加友好。

2.2 信令服務(wù)與媒體服務(wù)

關(guān)于信令服務(wù)和媒體服務(wù)的關(guān)系,絕大多數(shù)的廠商信令服務(wù)和媒體服務(wù)都是在一起的,融云的設(shè)計理念強調(diào)要解耦,使得部署和維護都更簡單,因此信令服務(wù)和媒體服務(wù)之間也需要解耦和無依賴,信令服務(wù)與媒體服務(wù)之間原本存在的狀態(tài)同步也要解開,而且融云本身就有特別健壯的信令服務(wù),因此可以復(fù)用融云的 IM 通道,融云本身在這方面的投入也相當(dāng)大。

上圖是信令服務(wù)與媒體服務(wù)的簡單架構(gòu),每一個媒體服務(wù)都與信令服務(wù)相關(guān),相關(guān)性的目的是讓彼此清楚各自的狀態(tài),這個設(shè)計模式的特點是客戶端與信令服務(wù)通信,通信結(jié)束之后可以與媒體服務(wù)通信,而媒體服務(wù)之間的對接不受影響。

2.3 實時通信發(fā)布/訂閱過程解析

上圖是為了實現(xiàn)解耦引入的實時通信發(fā)布/訂閱的模型,當(dāng) Client A 要與 Client B 進行會話時,第一步是進行發(fā)布,首先用 Client 調(diào)用 IM Server,提交加入房間/通話申請,調(diào)用信令服務(wù)的目的是拿 Token 返回,Token 中包括之后整個訂閱/發(fā)布功能所需要的關(guān)鍵數(shù)據(jù),拿到這些 Token 之后去調(diào)用相關(guān)媒體服務(wù)的地址,傳統(tǒng)的設(shè)計通常是找信令服務(wù),在分析 IP 地址庫之后指到媒體服務(wù),由于我們需要做到解耦,因此在 Token 調(diào)用媒體服務(wù)后會給出一個返回值,返回值是 IP 地址和 Domain。返回 Client 之后就可以拿到 IP 的信息,連到媒體服務(wù)開始與 Client B 通信,通信的過程完全是依靠長鏈接的信令服務(wù)通道來進行的,Client A 將它得到的 Domain 信息發(fā)送給 Client B,此時發(fā)送階段工作結(jié)束。發(fā)送階段結(jié)束之后由 Client B 來執(zhí)行訂閱工作,Client B 會找到離它比較近的信令服務(wù),調(diào)用媒體服務(wù)接口連到 Client A 連接的媒體服務(wù),這就是完整的發(fā)布/訂閱模式。

2.4 媒體服務(wù)對客戶端接口設(shè)計

對于媒體服務(wù)對客戶端接口的設(shè)計,只需要提供發(fā)布/取消發(fā)布流、SFU 訂閱/取消訂閱和 MCU 訂閱/取消訂閱的接口,就可以完成解耦過程,整個通信的過程也可以建立起來。

3. 能力服務(wù)

3.1 能力服務(wù)分類

本身正常的一對一、多對多通信完全可以通過媒體服務(wù)就可以實現(xiàn),融云最初上線的版本也是基于媒體服務(wù)去實現(xiàn)通信需求。后續(xù)客戶和業(yè)務(wù)產(chǎn)生了新的需求,比如在 AB 通訊時需要錄像、對音視頻的審核以及 WebRTC 實現(xiàn)低延遲直播等,融云將這些需求統(tǒng)稱為能力服務(wù)。

3.2 能力服務(wù)設(shè)計原則

能力服務(wù)一樣也有設(shè)計原則,首先,需要與媒體服務(wù)或信令服務(wù)解耦、無依賴;第二,無中央配置,無需通過配置來控制能力服務(wù)的功能和邏輯,而是通過接口和調(diào)用關(guān)系來控制;第三,結(jié)構(gòu)簡單,能夠?qū)崿F(xiàn)低成本運維;第四,能力服務(wù)可利用現(xiàn)有的網(wǎng)絡(luò)能力。

3.3 媒體服務(wù)對接能力服務(wù)過程

通過上圖來解釋媒體服務(wù)對接能力服務(wù)過程中的邏輯,與發(fā)布/訂閱模塊相同,都是用 Client 調(diào)用 IM Server,調(diào)用信令服務(wù)拿 Token 返回,Token 可以直接生成一個 Hash 值,可以將 Token 理解為一個字符串,將想要的數(shù)據(jù)通過加密算法封到 Token字符串里,比如"host@clusterld","config",Token 返回 Client 之后還是尋找媒體服務(wù),在連接另外一個媒體服務(wù)做通信時接入能力服務(wù),由發(fā)起方提供能力服務(wù)的內(nèi)容。

3.4 媒體服務(wù)對能力服務(wù)接口設(shè)計

媒體服務(wù)對能力服務(wù)接口設(shè)計分為申請推流/接受推流申請和推出推流/接受推流推出兩種。

4. 服務(wù)集群

4.1 服務(wù)集群設(shè)計原則

關(guān)于服務(wù)集群的設(shè)計理念,首先還是貫穿始終的結(jié)構(gòu)簡單、易于維護,其次是可低成本構(gòu)建集群以及可快速的擴縮容。

4.2 媒體服務(wù)集群框架

整個媒體服務(wù)集群的架構(gòu)如上圖所示,其中每臺媒體服務(wù)器應(yīng)該有自己獨立向外暴露的 IP 地址,用于進行 RTC 相關(guān)的通訊。媒體服務(wù)現(xiàn)在有兩個角色,一個是用于 RTC 相關(guān)的通訊,另外每個媒體服務(wù)器現(xiàn)在有自己 HTTP 的接口,用負載均衡和反向代理來控制這些 HTTP 接口的調(diào)用,通過反向代理實現(xiàn)規(guī)則調(diào)度。

4.3 服務(wù)集群實現(xiàn)

媒體服務(wù)集群還實現(xiàn)了實時通信單中心間媒體服務(wù)零調(diào)用,直播模式單中心理論上支持無限擴容以及通過代理層的控制實現(xiàn)無業(yè)務(wù)中斷的更新。

4.4 MCU 能力服務(wù)集群

MCU 能力服務(wù)集群與媒體服務(wù)集群邏輯相同。

4.5 集群概況

在沒有能力服務(wù)的情況下,上半部分就是融云標準的數(shù)據(jù)中心模型,引入能力服務(wù)后,需要復(fù)用媒體服務(wù)集群現(xiàn)有的基礎(chǔ)設(shè)施,所有的能力服務(wù)就會與媒體服務(wù)部署在一起,但實際上由于架構(gòu)實現(xiàn)解耦,比較靈活,并不需要物理上部署在一起。

5. 服務(wù)網(wǎng)絡(luò)

5.1 全球網(wǎng)絡(luò)設(shè)計原則

融云在做 IM 的時候?qū)τ谌蚓W(wǎng)絡(luò)設(shè)計有非常豐富的經(jīng)驗,通過多年來在全球覆蓋地區(qū) IM 網(wǎng)絡(luò)和基礎(chǔ)數(shù)據(jù)的收集,基本可以了解全球各個地區(qū)的實時網(wǎng)絡(luò)變化情況。在這過程中團隊總結(jié)出任何物理的優(yōu)化都不是特別穩(wěn)定,因此全球網(wǎng)絡(luò)的設(shè)計理念就包括客戶端就近接入,多鏈路選擇,數(shù)據(jù)中心間同源音視頻只有一路級聯(lián),利用IaaS能力進行中心間級聯(lián)鏈路的優(yōu)化。

5.2 跨國級聯(lián)示意圖

跨國級聯(lián)示意

5.3 全球網(wǎng)絡(luò)的工作

另外,融云在全球網(wǎng)絡(luò)中還做了一些工作,比如 DoH 剛在2018年9月變成RFC 的標準,主要解決 DNS 中間人劫持問題,根據(jù)融云這么多年業(yè)務(wù)開發(fā)經(jīng)驗來看,很多連接問題最終發(fā)現(xiàn)都是由 DNS 劫持導(dǎo)致的。另外在引入 SmartDNS 時會遇到 LocalDNS 緩存不準的問題,這些都會導(dǎo)致最終分配的就近地址不是真正的就近地址。融云目前的工作模式是將三者結(jié)合起來使用,在引入 SmartDNS 技術(shù)的同時引入 BGP Anycast 運營商技術(shù)來解決最近地址問題,通過這三層技術(shù)最大化來保證找到用戶的最近地址。另外可以在某些特殊情況下采用公網(wǎng)鏈路來做數(shù)據(jù)中心之間的級聯(lián)通信,絕大多數(shù)廠商礙于成本的考慮也采取了這樣的方法,但公網(wǎng)存在某些特殊情況不穩(wěn)定的問題,因此需要有一些備用鏈路,甚至在一些特殊的國家地區(qū)做物理鏈路優(yōu)化,融云 IM 在全球的基礎(chǔ)網(wǎng)絡(luò)設(shè)施投入很大成本,也收獲了很可觀的成績。

6. 未來工作計劃

關(guān)于融云目前正在開展的工作計劃,隨著業(yè)務(wù)的不斷增加,按照現(xiàn)有的架構(gòu)其實可以引入更多基于場景的能力服務(wù),只要遵循架構(gòu)模型就可以不斷地引入新的模型。另外在融云的架構(gòu)模式下天生支持混合云模式,由于各個服務(wù)間都是解耦的,任何私有環(huán)境下的服務(wù)都可以直接利用已經(jīng)存在的公有媒體服務(wù)架構(gòu)之上,對于公有媒體服務(wù)來說,只要遵循相同的發(fā)布/訂閱模型就可以直接使用。

關(guān)于融云

融云,安全、可靠的全球互聯(lián)網(wǎng)通信云服務(wù)商,向開發(fā)者和企業(yè)提供即時通訊和實時音視頻通信云服務(wù)。iResearch 艾瑞權(quán)威數(shù)據(jù)報告顯示,融云即時通訊云市場份額連續(xù)多年穩(wěn)居首位。

11月30日,融云將在上海舉辦2019全球互聯(lián)網(wǎng)通信云大會(WICC 2019),這是全球范圍內(nèi)首個圍繞互聯(lián)網(wǎng)通信云技術(shù)開展研討的行業(yè)技術(shù)會議。目前,大會免費報名通道限時開啟中,開發(fā)者們可通過大會官網(wǎng)(wicc.rongcloud.cn)申請限時免費門票,參與WICC 2019大會期間含主會場與技術(shù)分論壇所有場次的內(nèi)容分享。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)標簽
云服務(wù)
云通信

相關(guān)文章

  • 強強聯(lián)合!百望云入駐微軟實驗室,揭開數(shù)智發(fā)展新篇章!

    OpenAI是什么,隨著ChatGPT的爆火,相信大家都并不陌生了。而微軟也第一時間推出了AzureOpenAI加速計劃,希望憑借OpenAI的卓越能力,為企業(yè)賦能,幫助越來越多的企業(yè)將AI大模型的基礎(chǔ)能力,與企業(yè)場景相結(jié)合,開拓新的商業(yè)范式,引領(lǐng)行業(yè)變革。近日,以“智領(lǐng)新變共創(chuàng)未來”為主題的“微軟

    標簽:
    云服務(wù)
  • 新成果、新服務(wù)、新生態(tài),HPE混合云領(lǐng)導(dǎo)者地位再提升!

    HPE擴大混合云和私有云產(chǎn)品的覆蓋范圍、靈活選項和創(chuàng)新功能,領(lǐng)導(dǎo)者地位再提升!HPEDiscover科技盛會上,HPE宣布了HPEGreenLake邊緣到云平臺、混合云服務(wù)、私有云產(chǎn)品組合的創(chuàng)新成果,以及合作伙伴生態(tài)系統(tǒng)的最新進展:·HPE完成對OpsRamp公司的收購;相關(guān)解決方案現(xiàn)已作為HPEG

    標簽:
    云服務(wù)
  • 權(quán)威發(fā)布!白山云連續(xù)入選IDC邊緣云報告

    近日,國際權(quán)威研究機構(gòu)IDC發(fā)布《中國邊緣云市場跟蹤研究,2022H2》報告。作為創(chuàng)新的全球邊緣云服務(wù)提供商,白山云得到IDC的持續(xù)關(guān)注與認可,憑借在邊緣云領(lǐng)域的技術(shù)突破、產(chǎn)品迭代以及場景實踐,再度入選報告,與行業(yè)伙伴一同撐起邊緣云市場的巨大價值空間。IDC指出,在服務(wù)商與客戶需求的共同推動下,邊緣

    標簽:
    云服務(wù)
  • 帶來高?;旌显平ㄔO(shè)方案,青云科技滿足教育、教學(xué)、教管等場景需求

    隨著教育信息化2.0進程加快,教育部等六部門提出“推進教育新型基礎(chǔ)設(shè)施建設(shè),構(gòu)建高質(zhì)量教育支撐體系”,建設(shè)智慧校園成為各大高校重點布局方向。但因為傳統(tǒng)豎井式建設(shè)模式,導(dǎo)致高校信息系統(tǒng)龐大,現(xiàn)有信息化程度較低,IT資源碎片化,資源統(tǒng)一管控難度大等一系列問題,使得智慧校園建設(shè)步履維艱,各大高校亟需找到突

    標簽:
    云服務(wù)
  • 多功能升級、超值優(yōu)惠!KubeSphere Cloud加速企業(yè)云原生應(yīng)用落地

    5月份,青云科技(qingcloud.com,股票代碼:688316)推出的KubeSphereCloud云原生應(yīng)用服務(wù)平臺實現(xiàn)了眾多功能升級,并為用戶提供眾多優(yōu)惠活動,加速企業(yè)落地云原生。詳情如下:功能升級集群巡檢服務(wù)支持配置定時巡檢策略隨著企業(yè)核心業(yè)務(wù)環(huán)境安全事故的頻發(fā),周期性完成集群健康巡檢任

    標簽:
    云服務(wù)

熱門排行

信息推薦