這篇文章主要介紹“SpringCloud微服務(wù)的概念以及優(yōu)缺點(diǎn)有哪些”,在日常操作中,相信很多人在SpringCloud微服務(wù)的概念以及優(yōu)缺點(diǎn)有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SpringCloud微服務(wù)的概念以及優(yōu)缺點(diǎn)有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元霍爾果斯做網(wǎng)站,已為上家服務(wù),為霍爾果斯各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
“微服務(wù)”一詞來源于 Martin Fowler 的《Microservices》一文。微服務(wù)是一種架構(gòu)風(fēng)格,即將單體應(yīng)用劃分為小型的服務(wù)單元,微服務(wù)之間使用 HTTP 的 API 進(jìn)行資源訪問與操作。
在筆者看來,微服務(wù)架構(gòu)的演變更像是一個公司的發(fā)展過程,從最開始的小公司,到后來的大集團(tuán)。大集團(tuán)可拆分出多個子公司,每個子公司的都有自己獨(dú)立的業(yè)務(wù)、員工,各自發(fā)展,互不影響,合起來則是威力無窮。
臃腫的系統(tǒng)、重復(fù)的代碼、超長的啟動時間帶給開發(fā)人員的只有無限的埋怨,絲毫沒有那種很舒服的、很流暢的寫代碼的感覺。他們把大部分時間都花在解決問題和項(xiàng)目啟動上面了。
使用微服務(wù)架構(gòu)能夠?yàn)槲覀儙砣缦潞锰帲?/p>
每個服務(wù)都是一個獨(dú)立的項(xiàng)目,可以獨(dú)立部署,不依賴于其他服務(wù),耦合性低。
拆分之后服務(wù)啟動的速度必然要比拆分之前快很多,因?yàn)橐蕾嚨膸焐倭?,代碼量也少了。
敏捷開發(fā)以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行。服務(wù)拆分可以快速發(fā)布新版本,修改哪個服務(wù)只需要發(fā)布對應(yīng)的服務(wù)即可,不用整體重新發(fā)布。
業(yè)務(wù)發(fā)展迅速時,研發(fā)人員也會越來越多,每個團(tuán)隊(duì)可以負(fù)責(zé)對應(yīng)的業(yè)務(wù)線,服務(wù)的拆分有利于團(tuán)隊(duì)之間的分工。
當(dāng)某個服務(wù)的訪問量較大時,我們只需要將這個服務(wù)擴(kuò)容即可。
每個服務(wù)都提供 REST API,所有的基礎(chǔ)服務(wù)都必須抽出來,很多的底層實(shí)現(xiàn)都可以以接口方式提供。
微服務(wù)其實(shí)是一把雙刃劍,既然有利必然也會有弊。下面我們來談?wù)勎⒎?wù)有哪些弊端,以及能采取什么辦法避免。
單體應(yīng)用的時候,所有模塊之前的調(diào)用都是在本地進(jìn)行的,在微服務(wù)中,每個模塊都是獨(dú)立部署的,通過 HTTP 來進(jìn)行通信,這當(dāng)中會產(chǎn)生很多問題,比如網(wǎng)絡(luò)問題、容錯問題、調(diào)用關(guān)系等。
每個微服務(wù)都有自己的數(shù)據(jù)庫,這就是所謂的去中心化的數(shù)據(jù)管理。這種模式的優(yōu)點(diǎn)在于不同的服務(wù),可以選擇適合自身業(yè)務(wù)的數(shù)據(jù),比如訂單服務(wù)可以用 MySQL、評論服務(wù)可以用 MongoDB、商品搜索服務(wù)可以用 Elasticsearch。
缺點(diǎn)就是事務(wù)的問題了,目前最理想的解決方案就是柔性事務(wù)中的最終一致性,后面的章節(jié)會給大家做具體介紹。
服務(wù)和服務(wù)之間通過接口來交互,當(dāng)接口有改變的時候,對所有的調(diào)用方都是有影響的,這時自動化測試就顯得非常重要了,如果要靠人工一個個接口去測試,那工作量就太大了。這里要強(qiáng)調(diào)一點(diǎn),就是 API 文檔的管理尤為重要。
在采用傳統(tǒng)的單體應(yīng)用時,我們可能只需要關(guān)注一個 Tomcat 的集群、一個 MySQL 的集群就可以了,但這在微服務(wù)架構(gòu)下是行不通的。當(dāng)業(yè)務(wù)增加時,服務(wù)也將越來越多,服務(wù)的部署、監(jiān)控將變得非常復(fù)雜,這個時候?qū)τ谶\(yùn)維的要求就高了。
推薦分布式微服務(wù)商城
到此,關(guān)于“SpringCloud微服務(wù)的概念以及優(yōu)缺點(diǎn)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!