Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發(fā)便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊(cè)、配置中心、智能路由、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用Spring Boot的開發(fā)風(fēng)格做到一鍵啟動(dòng)和部署。
Spring Cloud并沒有重復(fù)制造輪子,它只是將各家公司開發(fā)的比較成熟、經(jīng)得起實(shí)際考驗(yàn)的服務(wù)框架組合起來,通過Spring Boot風(fēng)格進(jìn)行再封裝屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者留出了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包。
SpringCloud的優(yōu)點(diǎn)
1. 耦合度比較低。不會(huì)影響其他模塊的開發(fā)。
2. 減輕團(tuán)隊(duì)的成本,可以并行開發(fā),不用關(guān)注其他人怎么開發(fā),先關(guān)注自己的開發(fā)。
3. 配置比較簡(jiǎn)單,基本用注解就能實(shí)現(xiàn),不用使用過多的配置文件。
4. 微服務(wù)跨平臺(tái)的,可以用任何一種語言開發(fā)。
5. 每個(gè)微服務(wù)可以有自己的獨(dú)立的數(shù)據(jù)庫也有用公共的數(shù)據(jù)庫。
6. 直接寫后端的代碼,不用關(guān)注前端怎么開發(fā),直接寫自己的后端代碼即可,然后暴露接口,通過組件進(jìn)行服務(wù)通信。
SpringCloud的缺點(diǎn)
1. 部署比較麻煩,給運(yùn)維工程師帶來一定的麻煩。
2. 針對(duì)數(shù)據(jù)的管理比麻煩,因?yàn)槲⒎?wù)可以每個(gè)微服務(wù)使用一個(gè)數(shù)據(jù)庫。
3. 系統(tǒng)集成測(cè)試比較麻煩
4. 性能的監(jiān)控比較麻煩。