service實(shí)現(xiàn)類 微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?
微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?微服務(wù)只是一個(gè)概念,一個(gè)架構(gòu)設(shè)計(jì)思想,而不是一項(xiàng)新技術(shù)。其原理是將軟件應(yīng)用程序劃分為可以獨(dú)立運(yùn)行的“微”服務(wù),這類似于一般意義上的插件和擴(kuò)展。不同的是,“微服務(wù)”是
微服務(wù)怎么實(shí)現(xiàn)?是前端還是后端的事?
微服務(wù)只是一個(gè)概念,一個(gè)架構(gòu)設(shè)計(jì)思想,而不是一項(xiàng)新技術(shù)。其原理是將軟件應(yīng)用程序劃分為可以獨(dú)立運(yùn)行的“微”服務(wù),這類似于一般意義上的插件和擴(kuò)展。不同的是,“微服務(wù)”是一個(gè)可以獨(dú)立運(yùn)行的應(yīng)用程序,一般采用容器部署,比如docker。以下是從優(yōu)點(diǎn),缺點(diǎn)和適用場(chǎng)景。
優(yōu)點(diǎn):能有效解決單個(gè)軟件隨時(shí)間推移的維護(hù)災(zāi)難,按需加載,最大限度釋放系統(tǒng)資源。它與開發(fā)語言無關(guān),可以以容器化的方式獨(dú)立部署。無論使用哪種開發(fā)語言,都可以無縫集成??梢约?xì)粒度分割軟件項(xiàng)目,完美持續(xù)集成。
然而,微服務(wù)是一個(gè)分布式系統(tǒng)。如果拆分的粒度太細(xì),很容易形成級(jí)聯(lián)失敗。各模塊需要保持?jǐn)?shù)據(jù)的一致性,進(jìn)行通信規(guī)劃,對(duì)整個(gè)系統(tǒng)的架構(gòu)要求比較高。在測(cè)試方面,與單一軟件相比,測(cè)試工作量有一定程度的增加。應(yīng)用程序部署相對(duì)復(fù)雜。
應(yīng)用場(chǎng)景,業(yè)務(wù)層面,要處理多個(gè)客戶的需求,通常每個(gè)客戶有一部分的需求是不一樣的。在性能級(jí)別,它應(yīng)該處理高并發(fā)性和高負(fù)載。
總之,軟件互聯(lián)網(wǎng)行業(yè)的知識(shí)體系不斷更新,新概念、新技術(shù)層出不窮。讓我們探究它的本質(zhì),不要被它的外表所迷惑。機(jī)械類it背景的人鼓勵(lì)。
J2EE中service層的作用,還有action為什么是調(diào)用IService,而不直接調(diào)用service層的方法,這不多此一舉嗎?
1. 服務(wù)層的功能:一般來說,在MVC中,服務(wù)是業(yè)務(wù)邏輯層,用于處理更詳細(xì)的業(yè)務(wù)相關(guān)流程(即業(yè)務(wù)流程、非控制流程)等操作;動(dòng)作是控制層,用于控制業(yè)務(wù)處理的方向,并與處理系統(tǒng)的前后連接;Dao是數(shù)據(jù)連接和數(shù)據(jù)庫處理,可以看作是數(shù)據(jù)處理和數(shù)據(jù)庫操作的框架中間件。
2. Iservice和服務(wù)(DAO)一樣:就是因?yàn)榉?wù)層需要關(guān)注業(yè)務(wù)邏輯,業(yè)務(wù)邏輯有時(shí)復(fù)雜有時(shí)簡(jiǎn)單,有時(shí)一組邏輯只需要滿足一組業(yè)務(wù),有時(shí)一組邏輯需要同時(shí)滿足多組業(yè)務(wù)(meet==conform),因此服務(wù)層需要保持可伸縮性和可伸縮性,這就需要松耦合。服務(wù)根據(jù)當(dāng)前功能或業(yè)務(wù)需求定義接口,iservice負(fù)責(zé)具體實(shí)現(xiàn)。它可以是多態(tài)的、重載的、擴(kuò)展的等等。