您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)springboot微服務(wù)的開發(fā)利器是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一、微服務(wù)和微服務(wù)架構(gòu)
1.1)什么是微服務(wù)
把一個(gè)單一的應(yīng)用程序劃分為一組小 的服務(wù),每個(gè)小的服務(wù)都會(huì)運(yùn)行在自己的進(jìn)程中,服務(wù)之間通過輕量級的通信機(jī)制(http的rest api)進(jìn)行通信,那么 一個(gè)個(gè)的小服務(wù)就是微服務(wù)。傳統(tǒng)的的單一電商應(yīng)用來說,訂單,支付,用戶,商品,庫存等模塊都在一個(gè)項(xiàng)目中,若某一個(gè)模塊出 現(xiàn)線上bug,會(huì)導(dǎo)致整個(gè)版本發(fā)布回退. 若把單一應(yīng)用拆分為一個(gè)一微服務(wù),比如訂單微服務(wù),用戶微服務(wù),商品微服務(wù),積分微服務(wù)等,若某 一個(gè)微服務(wù)出錯(cuò)不會(huì)導(dǎo)致整個(gè)版本回退。
1.2)什么是微服務(wù)架構(gòu)
微服務(wù)架構(gòu)是一種架構(gòu)模式(用于服務(wù)管理微服務(wù)的),它把一組小的服務(wù)互相協(xié)調(diào)、互相配合,并且 完成功能。每個(gè)服務(wù)運(yùn)行在其獨(dú)立的進(jìn)程中,服務(wù)與服務(wù)間采用輕量級的通信機(jī)制互相協(xié)作(通常是基 于HTTP 協(xié)議的RESTfulAPI )。每個(gè)服務(wù)都圍繞著具體業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立的部署到生產(chǎn)環(huán)境
1.3)微服務(wù)的優(yōu)點(diǎn)
①:每個(gè)服務(wù)足夠內(nèi)聚,足夠小,代碼容易理解這樣能聚焦一個(gè)指定的業(yè)務(wù)功能或業(yè)務(wù)需求(職責(zé)單 一)
②:開發(fā)簡單、開發(fā)效率提高,一個(gè)服務(wù)可能就是專一的只干一件事,微服務(wù)能夠被小團(tuán)隊(duì)單獨(dú)開發(fā),這 個(gè)小團(tuán)隊(duì)是 2 到 5 人的開發(fā)人員組成。
③:微服務(wù)能使用不同的語言開發(fā)。
④:易于和第三方集成,微服務(wù)允許容易且靈活的方式集成自動(dòng)部署,通過持續(xù)集成工具,如 Jenkins,Hudson,bamboo。
⑤:微服務(wù)只是業(yè)務(wù)邏輯的代碼,不會(huì)和 HTML,CSS或其他界面組件混合。
⑥:每個(gè)微服務(wù)都有自己的存儲(chǔ)能力,可以有自己的數(shù)據(jù)庫。也可以有統(tǒng)一數(shù)據(jù)庫。
1.4)微服務(wù)的缺點(diǎn)
①開發(fā)人員要處理分布式系統(tǒng)的復(fù)雜性(分布式事物)
②:多服務(wù)運(yùn)維難度,隨著服務(wù)的增加,運(yùn)維的壓力也在增大
③:系統(tǒng)部署依賴
④:服務(wù)間通信成本
⑤:數(shù)據(jù)一致性
二、springboot的認(rèn)識
2.1)優(yōu)點(diǎn)
①、springboot 能在最小的阻力下,自動(dòng)配置消除了傳統(tǒng)Spring應(yīng)用程序里的很多樣板配置,不用在spring的配置上花更多的功夫,甚至完全不用配置,更加專注于應(yīng)用程序的功能,spring雖然在2.5加入了注解掃描,但是還是需要少量的spring的配置。
②、起步依賴,需要什么功能,自動(dòng)引入相關(guān)的類庫。提供眾多的起步依賴,降低了項(xiàng)目依賴的復(fù)雜度。根據(jù)依賴的傳遞,面對版本沖突和兼容的問題,方便管理
③、內(nèi)嵌tomcat,jetty容器,不用打war包,放到容器里執(zhí)行,直接java -jar xx.jar可啟動(dòng)項(xiàng)目
④、Actuator 檢視應(yīng)用程序狀態(tài)(健康檢查)
2.2)缺點(diǎn)
①、springboot內(nèi)部對jsp的支持并不是特別理想,而springboot推薦的視圖是Thymeleaf
②、雖然springboot減少了一些配置,但實(shí)際上是使用了更多的注解在相應(yīng)的配置類上,這樣導(dǎo)致相對于之前更難的理解出組件的依賴關(guān)系和加載的原理
③、starter類似一個(gè)可拔插的插件,對maven的依賴做了封裝,對版本做了控制,對于初學(xué)者想要了解原理提升了難度
三、springboot構(gòu)建項(xiàng)目需要引入的依賴
3.1)引入spring-boot-starter-parent,spring-boot-starter-parent中的spring-boot-dependencies是來控制版本的,我們引入里面有的依賴不需要寫版本號,如果沒有自然要寫版本號
3.2)spring-boot-starter-web 里面依賴了spring-web和webmvc等web開發(fā)需要的一些依賴
上述就是小編為大家分享的springboot微服務(wù)的開發(fā)利器是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。