微服務(wù) 微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?
微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?微服務(wù)只是一個(gè)概念,是一種架構(gòu)設(shè)計(jì)思想,并不是什么新技術(shù)。原理就是化整為零,把一個(gè)軟件應(yīng)用,拆分為一個(gè)個(gè)可獨(dú)立運(yùn)行的"微"服務(wù),跟常規(guī)意義的插件、擴(kuò)展之類類似,不同
微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?
微服務(wù)只是一個(gè)概念,是一種架構(gòu)設(shè)計(jì)思想,并不是什么新技術(shù)。原理就是化整為零,把一個(gè)軟件應(yīng)用,拆分為一個(gè)個(gè)可獨(dú)立運(yùn)行的"微"服務(wù),跟常規(guī)意義的插件、擴(kuò)展之類類似,不同之處在于"微服務(wù)"是一個(gè)可獨(dú)立運(yùn)行的應(yīng)用程序,一般采用容器化部署比如Docker之類。以下從優(yōu)點(diǎn)、缺點(diǎn)以及適用場景三方面來拆解。
優(yōu)點(diǎn),有效解決單體軟件隨著時(shí)間的推移的維護(hù)災(zāi)難,可按需加載,最大程度釋放系統(tǒng)資源。跟開發(fā)語言無關(guān),采用容器化獨(dú)立部署,無論使用什么開發(fā)語言都可無縫集成??梢约?xì)粒度拆分軟件項(xiàng)目,完美的持續(xù)集成。
缺點(diǎn),微服務(wù)是一個(gè)分布式系統(tǒng),如果拆分粒度過細(xì),容易形成連環(huán)故障。各模塊之間需要維護(hù)數(shù)據(jù)的一致性,要規(guī)劃好通信,對(duì)整個(gè)系統(tǒng)架構(gòu)要求比較高。在測(cè)試層面來講,相對(duì)單體軟件,測(cè)試工作量有一定程度的增加。應(yīng)用部署相對(duì)來說比較復(fù)雜一點(diǎn)。
適用場景,業(yè)務(wù)層面,應(yīng)對(duì)多客戶需求,通常每個(gè)客戶總有一部分需求是不一樣的。性能層面,應(yīng)對(duì)高并發(fā)、高負(fù)載。
總之,軟件互聯(lián)網(wǎng)行業(yè)知識(shí)體系更新比較頻繁,新概念、新技術(shù)層出不窮,我們探其本質(zhì),不要被表象所迷惑。機(jī)械科班出身的IT人共勉。