更新時(shí)間:2023年02月02日11時(shí)37分 來(lái)源:傳智教育 瀏覽次數(shù):
Spring Cloud是一個(gè)基于Spring Boot 實(shí)現(xiàn)的微服務(wù)開(kāi)發(fā)架構(gòu)。它利用Spring Boot 的開(kāi)發(fā)便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)的開(kāi)發(fā)。例如配置管理、服務(wù)發(fā)現(xiàn)、熔斷器使用、智能路由、控制總線(xiàn)等操作,都可以使用Spring Boot做到一鍵啟動(dòng)和部署。可以說(shuō),Spring Cloud將Spring Boot框架進(jìn)行再封裝,屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開(kāi)發(fā)者留出了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開(kāi)發(fā)工具包。
Spring Cloud之所以成為當(dāng)下流行的微服務(wù)架構(gòu),是因?yàn)槠渚哂幸韵绿攸c(diǎn)。
1.組件豐富,功能齊全
Spring Cloud 擁有Spring這個(gè)強(qiáng)大后盾,框架的源碼也是開(kāi)源的,而且開(kāi)發(fā)者在不斷完善Spring Cloud下的組件,其中包括Eureka服務(wù)注冊(cè)發(fā)現(xiàn)中心,主要負(fù)責(zé)完成微服務(wù)架構(gòu)中的服務(wù)管理功能;SpringCloud Config分布式配置中心,可以實(shí)現(xiàn)動(dòng)態(tài)修改配置文件;Hystrix熔斷器,通過(guò)熔斷機(jī)制控制服務(wù)和第三方庫(kù)的節(jié)點(diǎn),從而對(duì)延遲和故障提供更強(qiáng)大的容錯(cuò)能力。這些組件基本覆蓋了日常開(kāi)發(fā)的各個(gè)方面。
2.開(kāi)箱即用,快速啟動(dòng)
Spring Cloud是基于Spring Boot開(kāi)發(fā)的,Spring Boot具有快速構(gòu)建Spring應(yīng)用、直接嵌入服務(wù)器、自動(dòng)化配置的優(yōu)點(diǎn),Spring Cloud繼承了Spring Boot快速構(gòu)建和自動(dòng)化配置的優(yōu)點(diǎn),有開(kāi)箱即用、快速啟動(dòng)的特點(diǎn)。
3.模塊部署方便,項(xiàng)目維護(hù)難度降低
Spring Cloud采用模塊化開(kāi)發(fā),按照項(xiàng)目功能將項(xiàng)目拆分為不同的模塊,每個(gè)模塊獨(dú)立開(kāi)發(fā)運(yùn)行,模塊之間不會(huì)互相影響。模塊開(kāi)發(fā)完成后,每個(gè)模塊部署時(shí)可以使用Docker進(jìn)行自動(dòng)化部署,使得項(xiàng)目部署更加方便。維護(hù)時(shí)只需要維護(hù)具體的模塊,不需要改動(dòng)其他模塊的代碼,從而降低了模塊后期維護(hù)的成本。
4.項(xiàng)目擴(kuò)展性和穩(wěn)定性較好
基于Spring Cloud的微服務(wù)架構(gòu)中,每個(gè)模塊基本都是一個(gè)Spring Boot項(xiàng)目,它們都有獨(dú)立的數(shù)據(jù)庫(kù),模塊下的功能是橫向開(kāi)發(fā)的。如果需要擴(kuò)展新的功能,就可以新建該功能對(duì)應(yīng)的獨(dú)立數(shù)據(jù)庫(kù)以及新的模塊,不需要在之前的模塊上修改,這樣項(xiàng)目擴(kuò)展更方便,項(xiàng)目穩(wěn)定性更好。
5.具有容錯(cuò)處理機(jī)制
項(xiàng)目實(shí)際開(kāi)發(fā)中會(huì)因?yàn)榫W(wǎng)絡(luò)連接失敗、超時(shí)、服務(wù)器硬件故障等原因?qū)е缕渲心硞€(gè)模塊無(wú)法常運(yùn)行,從而導(dǎo)致整個(gè)項(xiàng)目發(fā)生異常,所以容錯(cuò)機(jī)制變得尤為重要。Spring Cloud提供了Hystrix組件,該組件專(zhuān)門(mén)用于處理容錯(cuò),從而能保證某個(gè)模塊出錯(cuò)后系統(tǒng)有其他備用模塊或者善后處理。
北京校區(qū)