微服務(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)以及適用場(chǎng)景三方面來(lái)拆解。
優(yōu)點(diǎn),有效解決單體軟件隨著時(shí)間的推移的維護(hù)災(zāi)難,可按需加載,最大程度釋放系統(tǒng)資源。跟開發(fā)語(yǔ)言無(wú)關(guān),采用容器化獨(dú)立部署,無(wú)論使用什么開發(fā)語(yǔ)言都可無(wú)縫集成??梢约?xì)粒度拆分軟件項(xiàng)目,完美的持續(xù)集成。
缺點(diǎn),微服務(wù)是一個(gè)分布式系統(tǒng),如果拆分粒度過(guò)細(xì),容易形成連環(huán)故障。各模塊之間需要維護(hù)數(shù)據(jù)的一致性,要規(guī)劃好通信,對(duì)整個(gè)系統(tǒng)架構(gòu)要求比較高。在測(cè)試層面來(lái)講,相對(duì)單體軟件,測(cè)試工作量有一定程度的增加。應(yīng)用部署相對(duì)來(lái)說(shuō)比較復(fù)雜一點(diǎn)。
適用場(chǎng)景,業(yè)務(wù)層面,應(yīng)對(duì)多客戶需求,通常每個(gè)客戶總有一部分需求是不一樣的。性能層面,應(yīng)對(duì)高并發(fā)、高負(fù)載。
總之,軟件互聯(lián)網(wǎng)行業(yè)知識(shí)體系更新比較頻繁,新概念、新技術(shù)層出不窮,我們探其本質(zhì),不要被表象所迷惑。機(jī)械科班出身的IT人共勉。
談?wù)勎⒎?wù)架構(gòu)是一個(gè)怎樣的存在?
微服務(wù)是近些年被廣泛提及的一個(gè)概念,微服務(wù)架構(gòu)可以理解為一個(gè)輕量級(jí)的服務(wù)治理方案,也就是將系統(tǒng)的功能,通過(guò)服務(wù)的形式發(fā)布到服務(wù)器上,對(duì)服務(wù)進(jìn)行組合調(diào)用,實(shí)現(xiàn)具體的功能,解決實(shí)際業(yè)務(wù)問(wèn)題的架構(gòu)風(fēng)格。
微服務(wù)產(chǎn)生于單體應(yīng)用的擴(kuò)大化,隨著信息化不斷發(fā)展,企業(yè)對(duì)軟件功能的要求越來(lái)越具體,也愈發(fā)的細(xì)致,如果通過(guò)應(yīng)用程序來(lái)實(shí)現(xiàn),必然是一個(gè)極其復(fù)雜而又痛苦的過(guò)程,由此誕生了微服務(wù)的概念。就是將功能發(fā)布成服務(wù),應(yīng)用程序通過(guò)調(diào)用不同的服務(wù)來(lái)實(shí)現(xiàn)業(yè)務(wù),這種設(shè)計(jì)架構(gòu)稱之為微服務(wù)。
微服務(wù)架構(gòu)的優(yōu)點(diǎn)在于每個(gè)服務(wù)可以有獨(dú)立的團(tuán)隊(duì)開發(fā),服務(wù)之間互不干涉,保障了系統(tǒng)的穩(wěn)定性。由于功能被拆分到更細(xì)的粒度,有效的降低了程序的復(fù)雜程度,對(duì)硬件的需求也隨之降低,但是微服務(wù)也有一些不足,比如服務(wù)調(diào)用帶來(lái)的系統(tǒng)復(fù)雜性,服務(wù)間的依賴關(guān)系也是難以管理的,如何構(gòu)建合理的服務(wù)依賴是考驗(yàn)架構(gòu)師能力的重要依據(jù);最后,微服務(wù)架構(gòu)的部署以及跟蹤也是很難的??傊?span style="font-weight: bold">微服務(wù)架構(gòu)有著自身的應(yīng)用場(chǎng)景以及特點(diǎn),了解哪些場(chǎng)景適合微服務(wù)比掌握微服務(wù)的具體技術(shù)更為重要,適當(dāng)?shù)募夹g(shù)用在適當(dāng)?shù)膱?chǎng)景,才能發(fā)揮合適的價(jià)值。
數(shù)通暢聯(lián) 專注于企業(yè)IT架構(gòu)、SOA綜合集成、數(shù)據(jù)治理分析領(lǐng)域,感謝您的閱讀與關(guān)注!