直播軟件開發(fā),靠容錯(cuò)能否扳回網(wǎng)絡(luò)給傳輸?shù)挠绊?/h1>
直播軟件開發(fā)內(nèi)容傳輸是否順利受到多方面的影響,從網(wǎng)絡(luò)到播放的設(shè)備到CDN節(jié)點(diǎn)的使用再到傳輸協(xié)議,可以說(shuō)傳輸?shù)沫h(huán)節(jié)越多,收到的影響可能性也隨著增加。這時(shí)容錯(cuò)協(xié)議的出現(xiàn)讓直播軟件開發(fā)眼前一亮,甚至想要靠著容錯(cuò)協(xié)議的使用看能否降低傳輸?shù)碾y度,關(guān)于容錯(cuò)的應(yīng)用方法有哪些,我們來(lái)看一下。
?

一、降級(jí)
比較常見常用的方法,實(shí)現(xiàn)也簡(jiǎn)單,當(dāng)直播軟件開發(fā)的服務(wù)壓力較大已經(jīng)臨近極限時(shí),系統(tǒng)將某些不重要的業(yè)務(wù)或接口功能降低,甚至停止所有不重要的功能,將有限的資源用來(lái)滿足用戶當(dāng)前的需求。
但降級(jí)的壞處也很明顯,可以看出直播軟件開發(fā)選擇停止一部分功能,但這些功能對(duì)用戶來(lái)說(shuō)是否有用并不作為考慮,平臺(tái)主觀的去推斷這些功能沒(méi)用,可能會(huì)給正在使用的用戶造成影響。
?

二、限流
與降級(jí)有些相似的是限流功能,系統(tǒng)能提供的最大并發(fā)有限,同時(shí)收到的請(qǐng)求又太多,就需要用到限流,瞬間請(qǐng)求的涌入服務(wù)器服務(wù)不過(guò)來(lái),只能排隊(duì)限流,一般有四種限流方式:
1、漏桶算法。把直播軟件開發(fā)可以儲(chǔ)存的數(shù)據(jù)流假設(shè)為一個(gè)桶,當(dāng)有新的請(qǐng)求到來(lái)時(shí),則告訴漏桶哪些溢出來(lái)的請(qǐng)求它們被丟棄了,這樣可以保證整個(gè)數(shù)據(jù)流不超載,但問(wèn)題可能是用戶在進(jìn)行重要請(qǐng)求時(shí)被打斷
2、令牌算法。與漏桶不同的是,令牌算法講究丟棄后來(lái)的請(qǐng)求,儲(chǔ)存數(shù)據(jù)流達(dá)到上限后,新添加的令牌被丟棄或拒絕,這可以保證直播軟件開發(fā)當(dāng)前用戶請(qǐng)求的順利完成
一般情況下,服務(wù)端會(huì)根據(jù)實(shí)際服務(wù)性能和時(shí)間段改變生成令牌的速度和數(shù)據(jù)儲(chǔ)存流量,一旦達(dá)到上限,可以按需提高速率。
?

3、固定時(shí)間窗口算法。固定的時(shí)間窗口內(nèi),可以允許直播軟件開發(fā)的固定數(shù)量請(qǐng)求進(jìn)入,但這可能導(dǎo)致直播軟件開發(fā)的系統(tǒng)被壓垮,而且由于時(shí)間臨界點(diǎn)缺點(diǎn),可能會(huì)在臨界點(diǎn)時(shí)間段內(nèi)遭受攻擊
4、滑動(dòng)時(shí)間窗口算法。它可以有效規(guī)避計(jì)算器算法中時(shí)間臨界點(diǎn)問(wèn)題,但仍然存在時(shí)間片段概念
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任