直播開發(fā)APP,容錯(cuò)模式下故障糾察工作更重要
隨著直播開發(fā)APP業(yè)務(wù)復(fù)雜度的增加,出現(xiàn)了不少由于服務(wù)調(diào)用出現(xiàn)異常問題,常見的比如系統(tǒng)以來的某個(gè)服務(wù)發(fā)生延遲或故障,數(shù)秒內(nèi)所有的應(yīng)用資源就被耗盡,造成雪崩效應(yīng),再或者系統(tǒng)遭受惡意爬蟲攻擊,直播開發(fā)APP在沒有做好限速處理的情況下,導(dǎo)致下游服務(wù)崩潰。
?

一、服務(wù)雪崩
我們開始也解釋了服務(wù)雪崩是什么意思,但一個(gè)服務(wù)失敗,導(dǎo)致直播開發(fā)APP整條鏈路的服務(wù)都失敗的情形,會(huì)嚴(yán)重影響到平臺(tái)日常的服務(wù)效果,為解決這個(gè)方法,服務(wù)熔斷和服務(wù)降級是不錯(cuò)的解決方案。
1、服務(wù)熔斷,當(dāng)下游的服務(wù)因?yàn)槟撤N原因突然變得不可用或響應(yīng)過慢時(shí),上游服務(wù)為了保證自己整體服務(wù)的可用性,不會(huì)再繼續(xù)調(diào)用目標(biāo)服務(wù),直接返回,快速釋放資源,等待目標(biāo)服務(wù)情況好轉(zhuǎn)再恢復(fù)調(diào)用
2、服務(wù)降級,分兩種場景,當(dāng)下游的服務(wù)因?yàn)槟撤N原因響應(yīng)過慢時(shí),下游服務(wù)主動(dòng)停掉一些不太重要的業(yè)務(wù),釋放出服務(wù)器資源,增加響應(yīng)速度;當(dāng)下游的服務(wù)因?yàn)槟撤N原因不可用時(shí),上游主動(dòng)調(diào)用本地的一些降級邏輯,避免卡頓
?

二、限流熔斷降級
1、熔斷,往往直播開發(fā)APP中遇到的是分布式系統(tǒng)熔斷,在分布式系統(tǒng)中,我們需要依賴下游服務(wù),不管是內(nèi)部系統(tǒng)還是第三方服務(wù),這樣增加了整個(gè)鏈路的請求時(shí)間,接下來下游系統(tǒng)本身出現(xiàn)了問題,不斷的請求會(huì)加重系統(tǒng)問題,恢復(fù)困難
2、限流,限流的目的在于通過對并發(fā)訪問進(jìn)行限速,限流的實(shí)現(xiàn)方式比如計(jì)數(shù)器、漏斗模式、令牌桶,都是直播開發(fā)APP常用又常見的
?

加上我們上面說的降級,三者的關(guān)系在于,熔斷是服務(wù)之間的調(diào)用能實(shí)現(xiàn)自我恢復(fù)狀態(tài);降級是從直播開發(fā)APP內(nèi)容的平級服務(wù)或業(yè)務(wù)的維度考慮,流量大可以去除一些保護(hù)其他正常使用;限流則是從直播開發(fā)APP的流量入口考慮,從進(jìn)入流量上做限制,達(dá)到保護(hù)系統(tǒng)的作用
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任