分布式的幾件小事(六)dubbo如何做服務(wù)治理、服務(wù)降級以及重試

1.服務(wù)治理

服務(wù)治理主要作用是改變運(yùn)行時(shí)服務(wù)的行為和選址邏輯,達(dá)到限流,權(quán)重配置等目的。
①調(diào)用鏈路自動(dòng)生成
一個(gè)大型的分布式系統(tǒng),會(huì)由大量的服務(wù)組成,那么這些服務(wù)之間的依賴關(guān)系和調(diào)用鏈路會(huì)很復(fù)雜,這就需要dubbo對多個(gè)服務(wù)之間的調(diào)用自動(dòng)記錄下來,生成一張圖,顯示出來。

②服務(wù)反復(fù)問壓力以及時(shí)長統(tǒng)計(jì)
需要自動(dòng)統(tǒng)計(jì)各個(gè)接口和服務(wù)之間的調(diào)用次數(shù)以及訪問延時(shí),而且要分成兩個(gè)級別。一個(gè)級別是接口粒度,就是每個(gè)服務(wù)的每個(gè)接口每天被調(diào)用多少次,TP50,TP90,TP99,三個(gè)檔次的請求延時(shí)分別是多少;第二個(gè)級別是從源頭入口開始,一個(gè)完整的請求鏈路經(jīng)過幾十個(gè)服務(wù)之后,完成一次請求,每天全鏈路走多少次,全鏈路請求延時(shí)的TP50,TP90,TP99,分別是多少。
這些東西都搞定了之后,后面才可以來看當(dāng)前系統(tǒng)的壓力主要在哪里,如何來擴(kuò)容和優(yōu)化。

③服務(wù)分層
對服務(wù)的架構(gòu)進(jìn)行分層處理,比如Mapper負(fù)責(zé)接口映射,原子數(shù)據(jù)庫操作。dao層負(fù)責(zé)數(shù)據(jù)訪問,調(diào)用mapper,組裝數(shù)據(jù)。service層負(fù)責(zé)對外提供dubbo服務(wù),webservice層暴露接口等等,防止出現(xiàn)循環(huán)依賴的問題。

④調(diào)用鏈路失敗的監(jiān)控和報(bào)警
服務(wù)之間的調(diào)用鏈路可能會(huì)很長,那么就會(huì)存在出現(xiàn)失敗的可能性很大,最好對調(diào)用鏈路進(jìn)行監(jiān)控,一旦出問題能保存本次調(diào)用鏈路失敗的全鏈路日志,好做問題排查。
如果調(diào)用失敗,或者超時(shí)了最好能進(jìn)行報(bào)警,可以將報(bào)警發(fā)的郵件、釘釘群等里面,早點(diǎn)處理。

2.服務(wù)降級

比如服務(wù)A調(diào)用服務(wù)B,結(jié)果服務(wù)B掛掉了,服務(wù)A重試幾次調(diào)用服務(wù)B,還是沒有響應(yīng),那么就會(huì)直接走降級邏輯,即走一個(gè)備用的邏輯,給調(diào)用者返回響應(yīng)。

3.服務(wù)重試

①失敗重試
consumer調(diào)用provider失敗了,比如provider出現(xiàn)了異常,這時(shí)候就要進(jìn)行重試。

②服務(wù)超時(shí)
比如某個(gè)服務(wù)的接口,要耗費(fèi)5s,你這邊不能干等著,你這邊配置了timeout之后,我等待2s,還沒返回,我直接就撤了,不能干等你。

如果是超時(shí)了,timeout就會(huì)設(shè)置超時(shí)時(shí)間;如果是調(diào)用失敗了自動(dòng)就會(huì)重試指定的次數(shù)。

<dubbo:reference id="xxxx" interface="xx" check="true" async="false" retries="3" timeout="2000"/>

timeout,一般設(shè)置為200ms,我們認(rèn)為不能超過200ms還沒返回。

retries,3次,設(shè)置retries,還一般是在讀請求的時(shí)候,比如你要查詢個(gè)數(shù)據(jù),你可以設(shè)置個(gè)retries,如果第一次沒讀到,報(bào)錯(cuò),重試指定的次數(shù),嘗試再次讀取2次。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容