資料內(nèi)容:
1. 什么是微服務(wù)架構(gòu)
微服務(wù)架構(gòu)就是將單體的應(yīng)用程序分成多個(gè)應(yīng)用程序,這多個(gè)應(yīng)用程序就成為微服務(wù),每個(gè)微服務(wù)運(yùn)行在自
己的進(jìn)程中,并使用輕量級的機(jī)制通信。這些服務(wù)圍繞業(yè)務(wù)能力來劃分,并通過自動化部署機(jī)制來獨(dú)立部
署。這些服務(wù)可以使用不同的編程語言,不同數(shù)據(jù)庫,以保證最低限度的集中式管理。
2. 為什么需要學(xué)習(xí)SpringCloud
首先springcloud基于spingboot的優(yōu)雅簡潔,可還記得我們被無數(shù)xml支配的恐懼?可還記得
springmvc,mybatis錯(cuò)綜復(fù)雜的配置,有了spingboot,這些東西都不需要了,spingboot好處不再贅
訴,springcloud就基于SpringBoot把市場上優(yōu)秀的服務(wù)框架組合起來,通過SpringBoot風(fēng)格進(jìn)行再封
裝屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理。
什么叫做開箱即用?即使是當(dāng)年的黃金搭檔dubbo+zookeeper下載配置起來也是頗費(fèi)心神的!而
springcloud完成這些只需要一個(gè)jar的依賴就可以了!
springcloud大多數(shù)子模塊都是直擊痛點(diǎn),像zuul解決的跨域,fegin解決的負(fù)載均衡,hystrix的熔斷機(jī)
制等等
3. SpringCloud是什么
SpringCloud是一系列框架的有序集合。它利用SpringBoot的開發(fā)便利性巧妙地簡化了分布式系統(tǒng)基礎(chǔ)設(shè)施
的開發(fā),如服務(wù)發(fā)現(xiàn)注冊、配置中心、智能路由、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用
SpringBoot的開發(fā)風(fēng)格做到一鍵啟動和部署。
SpringCloud并沒有重復(fù)制造輪子,它只是將各家公司開發(fā)的比較成熟、經(jīng)得起實(shí)際考驗(yàn)的服務(wù)框架組合起
來,通過SpringBoot風(fēng)格進(jìn)行再封裝屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者留出了一套簡單易懂、
易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包。
4. SpringCloud的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
1.耦合度比較低。不會影響其他模塊的開發(fā)。
2.減輕團(tuán)隊(duì)的成本,可以并行開發(fā),不用關(guān)注其他人怎么開發(fā),先關(guān)注自己的開發(fā)。
3.配置比較簡單,基本用注解就能實(shí)現(xiàn),不用使用過多的配置文件。
4.微服務(wù)跨平臺的,可以用任何一種語言開發(fā)。
5.每個(gè)微服務(wù)可以有自己的獨(dú)立的數(shù)據(jù)庫也有用公共的數(shù)據(jù)庫。
6.直接寫后端的代碼,不用關(guān)注前端怎么開發(fā),直接寫自己的后端代碼即可,然后暴露接口,通過組件進(jìn)
行服務(wù)通信。
缺點(diǎn):
1.部署比較麻煩,給運(yùn)維工程師帶來一定的麻煩。Spring Cloud Version
SpringBoot Version
Hoxton
2.2.x
Greenwich
2.1.x
Finchley
2.0.x
Edgware
1.5.x
Dalston
1.5.x
2.針對數(shù)據(jù)的管理比麻煩,因?yàn)槲⒎?wù)可以每個(gè)微服務(wù)使用一個(gè)數(shù)據(jù)庫。
3.系統(tǒng)集成測試比較麻煩
4.性能的監(jiān)控比較麻煩。
總的來說優(yōu)點(diǎn)大過于缺點(diǎn),目前看來SpringCloud是一套非常完善的分布式框架,目前很多企業(yè)開始用微服
務(wù)、SpringCloud的優(yōu)勢是顯而易見的。因此對于想研究微服務(wù)架構(gòu)的同學(xué)來說,學(xué)習(xí)SpringCloud是一個(gè)不
錯(cuò)的選擇。
5. SpringBoot和SpringCloud的區(qū)別?
SpringBoot專注于快速方便的開發(fā)單個(gè)個(gè)體微服務(wù)。
SpringCloud是關(guān)注全局的微服務(wù)協(xié)調(diào)整理治理框架,它將SpringBoot開發(fā)的一個(gè)個(gè)單體微服務(wù)整合并
管理起來。
為各個(gè)微服務(wù)之間提供,配置管理、服務(wù)發(fā)現(xiàn)、斷路器、路由、微代理、事件總線、全局鎖、決策競
選、分布式會話等等集成服務(wù)。
SpringBoot可以離開SpringCloud獨(dú)立使用開發(fā)項(xiàng)目,但是SpringCloud離不開SpringBoot,屬
于依賴的關(guān)系。
SpringBoot專注于快速、方便的開發(fā)單個(gè)微服務(wù)個(gè)體,SpringCloud關(guān)注全局的服務(wù)治理框架。