直播平臺軟件開發(fā),跳過DNS后的新協(xié)議服務
一般情況下,直播平臺軟件開發(fā)會使用DNS做解析,加速用戶獲取內(nèi)容的速度,不過傳統(tǒng)DNS存在一些問題,在介紹新的協(xié)議之前,我們先來看當前直播平臺軟件開發(fā)面臨什么問題。
?

一、傳統(tǒng)DNS存在的問題
1、域名緩存問題,平臺為了節(jié)省流量計算的成本,會將一些經(jīng)常訪問的域名以及IP的映射在本地進行緩存,當有其他相同的請求時,會直接返回這個緩存數(shù)據(jù),如果這些緩存更新不及時,那必然會影響到用戶的訪問使用
2、域名轉(zhuǎn)發(fā)問題,當用戶請求時,本應該是直播平臺軟件開發(fā)A服務器來響應,但A卻把請求轉(zhuǎn)移給了B服務器,這可能存在跨地區(qū)響應的情況,一旦涉及到了跨地區(qū)響應,那速度就會隨之下降
3、出現(xiàn)NAT問題,在直播平臺軟件開發(fā)的局域網(wǎng)中,當機器使用NAT地址轉(zhuǎn)換訪問外部網(wǎng)絡時,DNS服務器無法通過轉(zhuǎn)換來判斷客戶端來自哪個運營商,并可能出現(xiàn)誤判
4、解析延遲問題,本身DNS的查詢是需要通過本地DNS服務器迭代多個DNS服務器才能獲得最終解析結(jié)果的,由于需要多服務器工作,那必然存在延遲,甚至超時
?

二、新的HTTPDNS
做為新的協(xié)議,HTTPDNS不經(jīng)過傳統(tǒng)DNS解析的路徑,自己搭建基于HTTP協(xié)議的DNS服務器集群,分布在多個地點,這樣能方便直播平臺軟件開發(fā)響應用戶請求時采取就近原則。
說到新的協(xié)議,我們主要說一下HTTPDNS的緩存設計,這里它將解析速度和更新速度全部交給SDK來控制:一方面可以實現(xiàn)解析的過稱只要一個HTTP的請求就能搞定,可以保證實時性;另一方面,借助本地緩存,可以保證直播平臺軟件開發(fā)的掌控權。
?

三、緩存設計
緩存設計的策略只分了三層,客戶端、緩存、數(shù)據(jù)源,分別對應著移動端設備、DNS緩存和HTTPDNS服務器,倒是有很強的針對性,覆蓋了直播平臺軟件開發(fā)的主要服務范圍,解析可以選擇同步進行,直接調(diào)用HTTPDNS的借口返回新的記錄更新緩存;也可以異步進行,添加一個解析任務到后臺,由直播平臺軟件開發(fā)的后臺任務調(diào)用接口。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關法律責任