一對(duì)一直播源碼,未雨綢繆強(qiáng)過臨時(shí)抱佛腳
穩(wěn)定性是一對(duì)一直播源碼開發(fā)時(shí)備受關(guān)注的一個(gè)性能指標(biāo),在系統(tǒng)正常運(yùn)行過程中,影響穩(wěn)定性的因素比較多,如果在故障發(fā)生后再去應(yīng)對(duì)肯定要耗費(fèi)大量的人力物力,所以為保證一對(duì)一直播源碼的穩(wěn)定性,未雨綢繆要強(qiáng)過臨時(shí)抱佛腳。

一、系統(tǒng)拆分
在一對(duì)一直播源碼開發(fā)時(shí),進(jìn)行系統(tǒng)拆分的主要目的是減少故障的影響面。將一個(gè)大的系統(tǒng)按照一定的拆分邏輯拆分成多個(gè)小的系統(tǒng),這樣當(dāng)某一小的系統(tǒng)發(fā)生故障后也不會(huì)對(duì)其他小的系統(tǒng)造成影響,從而降低了故障的影響面。
系統(tǒng)拆分包含多種類型,比如接入層拆分、數(shù)據(jù)庫拆分、服務(wù)拆分等,不同拆分類型遵循的拆分邏輯不同。
二、冗余部署
在拆分完一對(duì)一直播源碼中的系統(tǒng)后,需要將其部署在不同的服務(wù)器上,在部署的過程中需要實(shí)現(xiàn)冗余部署,也就是將一個(gè)服務(wù)部署在多個(gè)節(jié)點(diǎn)上,這樣當(dāng)某一節(jié)點(diǎn)發(fā)生故障后,可以第一時(shí)間用冗余節(jié)點(diǎn)替換上。
三、故障自動(dòng)轉(zhuǎn)移
為了保證節(jié)點(diǎn)的替換速度,在一對(duì)一直播源碼開發(fā)時(shí),還需要實(shí)現(xiàn)故障的自動(dòng)轉(zhuǎn)移,所謂的故障自動(dòng)轉(zhuǎn)移就是利用負(fù)載均衡的探活機(jī)制,在某一節(jié)點(diǎn)宕機(jī)后自動(dòng)摘除上游流量,以此來保證系統(tǒng)的高可用性。

三、容量評(píng)估
容量評(píng)估是在一對(duì)一直播源碼上線前進(jìn)行的工作,具體評(píng)估對(duì)象包含整個(gè)服務(wù)用到的機(jī)器、DB、cache等,一般會(huì)用以下方式進(jìn)行評(píng)估:
1、明確預(yù)期流量指標(biāo)QPS;
2、明確可接受的時(shí)延和安全水位指標(biāo);
3、通過壓測(cè)評(píng)估單機(jī)在安全水位以下能支持的最高QPS;
4、估算出具體的機(jī)器數(shù)量。
四、資源隔離
在一對(duì)一直播源碼中可利用資源隔離策略保障系統(tǒng)穩(wěn)定性。資源隔離就是通過限制單個(gè)下游接口可使用的最大線程資源,來確保在未熔斷前降低對(duì)整個(gè)服務(wù)吞吐量的影響。
在一對(duì)一直播源碼開發(fā)中,通常會(huì)利用共享+獨(dú)占的方式來優(yōu)化隔離效果,也就是讓每個(gè)節(jié)點(diǎn)都有自己的獨(dú)占線程資源,一旦獨(dú)占線程資源被占滿后,就使用共享線程資源,當(dāng)共享池達(dá)到一定水位后,強(qiáng)制使用獨(dú)占資源,并排隊(duì)等待。

未雨綢繆主打的是提前防護(hù),做好提前防護(hù)工作可以降低故障發(fā)生后對(duì)一對(duì)一直播源碼的影響,從而提升系統(tǒng)穩(wěn)定性,讓用戶獲得更好的使用體驗(yàn)。
聲明:本文由云豹科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者名及原文鏈接,否則視為侵權(quán)