本篇內(nèi)容介紹了“Spring Cloud微服務(wù)的相關(guān)問題有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為河津企業(yè)提供專業(yè)的做網(wǎng)站、成都做網(wǎng)站,河津網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
01. 微服務(wù)是什么?
微服務(wù)化的核心就是將傳統(tǒng)的一站式應(yīng)用,根據(jù)業(yè)務(wù)拆分成一個(gè)一個(gè)的服務(wù),徹底去掉耦合,每一個(gè)微服務(wù)提供單個(gè)業(yè)務(wù)功能,一個(gè)服務(wù)只做一件事。
從技術(shù)角度講就是一種小而獨(dú)立的處理過程,類似與進(jìn)程的概念,能夠自行單獨(dú)啟動(dòng)或銷毀,可以擁有自己獨(dú)立的數(shù)據(jù)庫。
論文中提到了微服務(wù)和傳統(tǒng)架構(gòu)的區(qū)別,傳統(tǒng)架構(gòu)(單機(jī)系統(tǒng)),一個(gè)項(xiàng)目一個(gè)工程:比如商品、訂單、交易、庫存等等,統(tǒng)一部署,一個(gè)進(jìn)程。如下圖所示(圖片出自于原文):
微服務(wù)架構(gòu)(分布式系統(tǒng)),各個(gè)模塊/服務(wù),各自獨(dú)立出來,“讓專業(yè)的人干專業(yè)的事”,獨(dú)立部署。分布式系統(tǒng)中,不同的服務(wù)可以使用各自獨(dú)立的數(shù)據(jù)庫。如下圖所示(圖片出自于原文):
02. 微服務(wù)的優(yōu)缺點(diǎn)
微服務(wù)優(yōu)點(diǎn):
1.每個(gè)服務(wù)足夠內(nèi)聚,足夠小,代碼容易理解。這樣能聚焦一個(gè)只當(dāng)?shù)臉I(yè)務(wù)功能或業(yè)務(wù)需求。
2.開發(fā)簡(jiǎn)單、開發(fā)效率提高,一個(gè)服務(wù)可能就是專業(yè)的只干一件事,微服務(wù)能夠被小團(tuán)隊(duì)單獨(dú)開發(fā),這個(gè)小團(tuán)隊(duì)可以是2到5人的開發(fā)人員組成。
3.微服務(wù)是松耦合的,是有功能意義的服務(wù),無論是在開發(fā)階段或部署階段都是獨(dú)立的。
4.微服務(wù)能使用不同的語言開發(fā)。
5.易于和第三方集成,微服務(wù)運(yùn)行容易且靈活的方式集成自動(dòng)部署,通過持續(xù)集成工具,如Jenkins,Hudson,bamboo。
6.微服務(wù)易于被一個(gè)開發(fā)人員理解、修改和維護(hù),這樣小團(tuán)隊(duì)能夠更關(guān)注自己的工作成果,無需通過合作才能體現(xiàn)價(jià)值。
7.微服務(wù)允許你利用融合最新技術(shù)。微服務(wù)只是業(yè)務(wù)邏輯的代碼,不會(huì)和HTML/CSS或其他界面組件混合,即前后端分離。
8.每個(gè)微服務(wù)都有自己的存儲(chǔ)能力,可以有自己的數(shù)據(jù)庫,也可以有統(tǒng)一數(shù)據(jù)庫。
微服務(wù)的缺點(diǎn):開發(fā)人員要處理分布式系統(tǒng)的復(fù)雜性。
03. 微服務(wù)的技術(shù)棧有哪些?
微服務(wù)中,首先肯定離不開服務(wù)開發(fā)、服務(wù)配置與管理、服務(wù)注冊(cè)與發(fā)現(xiàn)、服務(wù)的調(diào)用、熔斷器以及負(fù)載均衡等等,除此之外,還有服務(wù)的路由、監(jiān)控、部署,還有可能涉及到一些中間件等等。
這些技術(shù)棧都有一些對(duì)應(yīng)的落地技術(shù)實(shí)現(xiàn),具體可以看一下下面這張圖(圖片可點(diǎn)開放大):
04. 為什么選擇SpringCloud?
當(dāng)前微服務(wù)架構(gòu),Dubbo和SpringCloud比較火,另外還有Thrift、gRPC等等,下面把這些做一個(gè)比較,即可看出SpringCloud的強(qiáng)大之處。由于圖片比較長(zhǎng),我分了兩張圖。
在微服務(wù)架構(gòu)的實(shí)施和落地過程中,通常我們會(huì)進(jìn)行技術(shù)選型,很多人會(huì)拿阿里開源的Dubbo和Spring Cloud進(jìn)行對(duì)比,實(shí)際上對(duì)比的是REST和RPC,其實(shí)Dubbo和Spring Cloud并不在同一領(lǐng)域,沒有可比性。
Spring Cloud是一個(gè)完整的微服務(wù)解決方案,正如上面的表格中展現(xiàn)的,它提供分布式情況下的各種解決方案合集。而Dubbo是一款高性能的Java RPC框架。Spring Cloud生態(tài)和Dubbo生態(tài)隨著技術(shù)的發(fā)展,會(huì)逐漸的融合互補(bǔ)。
“Spring Cloud微服務(wù)的相關(guān)問題有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!