? ? ? 在平時(shí)的開(kāi)發(fā)過(guò)程中,會(huì)遇到一個(gè)普遍的情況,比如自己的應(yīng)用依賴(lài)了很多第三方服務(wù)削樊,同時(shí)又給下游系統(tǒng)輸出很多rpc接口,系統(tǒng)內(nèi)部也有很多復(fù)雜的業(yè)務(wù)邏輯穿插和數(shù)據(jù)流轉(zhuǎn)判导,這時(shí)我們?cè)撛趺幢WC我們的系統(tǒng)可維護(hù)性嫉父,高可用呢沛硅。
1.系統(tǒng)內(nèi)部梳理出業(yè)務(wù)總線眼刃,每條線都是一個(gè)主題,比如訂單摇肌,售后擂红,等等,如果系統(tǒng)夠大,業(yè)務(wù)夠復(fù)雜昵骤,那么一個(gè)主題基本上就可以單獨(dú)成一個(gè)應(yīng)用或服務(wù)树碱,比如訂單服務(wù),售后系統(tǒng)等等变秦,這樣維護(hù)起來(lái)也有針對(duì)性成榜。
2.依賴(lài)的第三方服務(wù)接口進(jìn)行梳理,如果時(shí)效性不高蹦玫,走緩存赎婚,或者進(jìn)行數(shù)據(jù)閉環(huán),減少?gòu)?qiáng)依賴(lài)樱溉。
3.對(duì)外提供的接口挣输,流量過(guò)大,接口可以進(jìn)行限流處理福贞,甚至只保留接口重要業(yè)務(wù)邏輯撩嚼,進(jìn)行有損服務(wù),需要對(duì)接口細(xì)粒度的劃分挖帘。
4.緩存服務(wù)器資源是否夠用完丽,能否自動(dòng)擴(kuò)容,能否自動(dòng)切換機(jī)房肠套;緩存命中率有多高舰涌,數(shù)據(jù)庫(kù)回源的場(chǎng)景有多少,是否有風(fēng)險(xiǎn)等等都要考慮你稚。
5.是否有必要增加過(guò)多的服務(wù)器節(jié)點(diǎn)瓷耙,防止數(shù)據(jù)庫(kù)連接池滿(mǎn)了;讀寫(xiě)分離刁赖,分表等等